我想问一下关于直播的问题,我有wowza服务器,在web客户端使用rtmp协议,问题是如何兼容所有的设备,比如桌面和移动设备,我使用了ffmpeg,但是如何在飞行中将rtmp转换为mp4?ffmpeg中的哪种类型的命令?我想使用http协议,而不是rtmp或rtsp,谢谢。
你好啊,潘吉
发布于 2014-05-08 01:11:41
如果你想要实时的http流(HLS),那么你应该在<LiveStreamPacketizers>列表中使用wowza的cupertinostreamingpacketizer,并将非rtmp客户端指向http://your-server:1935/live/yourstream/playlist.m3u8。不需要ffmpeg。通常在wowza上默认启用HLS分组化,所以只需尝试在支持html5+h264的浏览器中访问该URL即可。请记住,编码软件必须编码为h264,而不是v6编解码器。
您的HLS流大约比rtmp流晚30s -1分钟。如果你想让流在不同设备上同步,可以考虑使用HDS (sanjosestreamingpacketizer)而不是rtmp,并将支持HDS的flash播放器指向http://your-server:1935/live/yourstream/manifest.f4m。
如果您想将直播流录制为mp4以便稍后播放,您可以使用wowza的内置录制接口-请参阅http://www.wowza.com/forums/content.php?123#userinterface。
或者,您可以使用rtmpdump (在大多数unix系统上通常以包的形式提供)来获取rtmp流,然后在rtmp流关闭后使用ffmpeg进行转换:
rtmpdump -q --rtmp "rtmp://your-server:1935/live/" --playpath yourstream -o yourstream.flv --live
ffmpeg -i yourstream.flv -vcodec copy -acodec copy yourstream.mp4 </dev/null
ffmpeg -i yourstream.mp4 -vframes 1 yourstream.jpg </dev/null第一个ffmpeg命令转换为mp4,第二个命令抓取第一帧并保存为.jpg,这样您就可以将其用作您的海报帧。
https://stackoverflow.com/questions/23466229
复制相似问题