6

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

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

有没有解决这个问题的方法,或者有没有 MPMoviePlayerController 的替代方案?

提前致谢

4

1 回答 1

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}'

现在,如果你这样做,你应该能够直接连接任何媒体播放器,比如 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";

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

青色

于 2011-05-20T10:15:37.233 回答