MPMoviePlayerController中没有扩展名的HTTP流

Joo*_*ost 6 http vlc mpmovieplayercontroller video-streaming

我目前正在让VLC流式传输WMV文件,同时将文件转换为带有MP3音频的H264.这意味着您将获得一个只包含IP和端口的URL(http://127.0.0.1:1234/).当我试图让MPMoviePlayerController流这个时,它说它无法打开那个扩展...

我该怎么办?我听说你必须创建一个M3U8文件,但我不知道该怎么做.

有没有解决这个问题的方法,还是有替代MPMoviePlayerController?

提前致谢

rho*_*aza 1

我刚刚尝试过这个,它对我有用......我不知道这是否正是你正在寻找的......

在装有 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}'
Run Code Online (Sandbox Code Playgroud)

现在,如果你这样做,你应该能够直接连接任何媒体播放器,比如 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
Run Code Online (Sandbox Code Playgroud)

这个文件只是指向流,然后我把它放在一个网络服务器中,比如 apache...它起作用了..我能够使用 MPMoviePlayerController 观看流...现在我只需要弄清楚如何退出那里,因为我刚刚学习如何使用 MPMoviePlayerController 并且我不知道如何设置“完成”按钮:-)

顺便说一句...在源代码中...我分配给 MPMoviePlayerController 的字符串是这样的: NSString *path = @"http://192.168.80.26/~user/test.m3u8";

我不知道这是否是最有效的或正确的做法..但至少它有效;)

氰胺