HTTP-поток без расширения в MPMoviePlayerController - PullRequest
6 голосов
/ 18 апреля 2010

В настоящее время я позволяю VLC транслировать файл WMV, в то время как он конвертирует файл в прямом эфире в H264 со звуком MP3. Это означает, что вы получаете URL-адрес только с IP-адресом и портом (http://127.0.0.1:1234/). Когда я пытаюсь разрешить MPMoviePlayerController передавать это, он говорит, что не может открыть это расширение ...

Что мне делать? Я слышал, что вам нужно создать файл M3U8, но я не знаю, как это сделать.

Есть ли решения для этой проблемы или есть альтернатива MPMoviePlayerController?

Заранее спасибо

1 Ответ

1 голос
/ 20 мая 2011

Я только что попробовал это, и это сработало для меня ... Я не знаю, если это именно то, что вы ищете ..

На компьютере с VLC я запустил [ 1 ]:

/Applications/VLC.app/Contents/MacOS/VLC --intf=rc SOME_VIDEO \\
'--sout=#transcode{fps=25,vcodec=h264,venc=x264{aud,profile=baseline,level=30,\\
keyint=30,bframes=0,ref=1,nocabac},acodec=mp3,ab=56,audio-sync,deinterlace}:\\
standard{mux=ts,access=http,dst=192.168.80.26:8080/test.mp4}'

Теперь, если вы сделаете это, вы сможете напрямую подключиться к любому медиаплееру, например, самому VLC, но это, как вы уже сказали, не работает с MPMoviePlayerController ... так что я и сделал ... Я создаю файл m3u8 как это и я назвал "test.m3u8"

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10, 
http://192.168.80.26:8080/test.mp4

Этот файл просто указывает на поток, затем я помещаю его в веб-сервер, такой как apache ... и это сработало .. я смог смотреть поток, используя MPMoviePlayerController ... теперь мне просто нужно выяснить, как выбраться оттуда, так как я только изучаю, как использовать MPMoviePlayerController, и я не знаю, как настроить кнопку «сделано» :-)

кстати ... в исходном коде ... строка, которую я назначил MPMoviePlayerController, выглядит примерно так: NSString * path = @ "http://192.168.80.26/~user/test.m3u8";

Я не знаю, является ли это наиболее эффективным или правильным решением, но, по крайней мере, это работает;)

суа

...