Добрый день!
Прошу не пинать больно, если написал не в тот раздел.
Есть большая свалка видео в локалке на Plex. У коллеги Xtreamer MK1 и желание этой свалкой воспользоваться ( подсети разные ).
Попросил помочь. Никаких готовых решений я не нагуглил ( может гуглил что-то не то ). Вижу 2 варианта решения данной проблемы:
1. На базе https://github.com/nickbart/php-plex . Грабли: на media-server несколько accounts, один из которых закрыт по PIN-code.
Не смог отключить авторизацию для получения xml контента на порту 32400
2. Android client для Plex поддерживает AirPlay. Прошивка Xtreamer MK1 2.71 тоже ( здесь кто-то писал что не поддерживает или
очень криво поддерживает, но об этом ниже). Грабли: играет картинки, не играет музыку и видео.
Анализ: По причине отсутствия MacOs девайса попробовал AirPlay с Win PC разными 3rd-party утилитами. Общее впечатление: все
очень убого. Единственный достойный кандидат: 5KPlayer. С его помощью мне удалось воспроизвести на Xtreamer и *.mp3 и *.mp4
файлы. Ниже запросы /play для разных клиентов
5KP:
POST /play HTTP/1.1
Content-Type: text/parameters
User-Agent: iTunes/10.6 (Macintosh; Intel Mac OS X 10.7.3) AppleWebKit/535.18.5
Content-Length: 119
Content-Location: http://192.168.0.55:5100/c92fc25c8a5d7b ... d6.mp4?v=1
Start-Position: 0,0973064750432968
Plex:
POST /play HTTP/1.1
Content-Type: application/x-apple-binary-plist
User-Agent: MediaControl/1.0
Content-Length: 891
X-Apple-Session-ID: 3c5242fc-af1e-4344-9fb9-a52f7a25a630
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Content-Location</key>
<string>http://192.168.15.12:32400/video/:/transcode/universal/start.m3u8?audioBoost=100&directPlay=0&directStream=1&fastSeek=1&maxVideoBitrate=2000&partIndex=0&path=%2Flibrary%2Fmetadata%2F6181&protocol=hls&session=f57b9a92d43ef007-com-plexapp-android&subtitleSize=100&videoQuality=60&videoResolution=1280x720&X-Plex-Account=2769460&X-Plex-Client-Platform=iOS&X-Plex-Device=AppleTV&X-Plex-Platform=iOS&X-Plex-Platform-Version=5.3&X-Plex-Product=Plex%20for%20Android&X-Plex-Token=6PMBzkdbHDfhE3yHeFzE&X-Plex-Version=4.10.3.426</string>
<key>Start-Position</key>
<real>0.0</real>
</dict>
</plist>
Есть предположение что DVDPlayer не понимает /play в формате plist.
Бегло глянул в IDA на DVDPlayer. На первый взгляд есть обработка plist и даже есть какая-то debug-инфа, которую нигде пока не вижу.
Вопросы:
1. Кто-нибудь ковырял DvdPlayer, может известно как в нем включить отладку ?
2. Никто не знает какой-нибудь tiny-proxy (под Xtreamer или android) при помощи которой можно было бы преобразовать запрос из plist в non-plist формат на лету ?
3. Приседания с AirPlay вобще кому-нибудь интересны ?