首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用FFMPEG将RTMP实时转换为mp4?

如何使用FFMPEG将RTMP实时转换为mp4?
EN

Stack Overflow用户
提问于 2014-05-05 14:33:04
回答 1查看 17.9K关注 0票数 1

我想问一下关于直播的问题,我有wowza服务器,在web客户端使用rtmp协议,问题是如何兼容所有的设备,比如桌面和移动设备,我使用了ffmpeg,但是如何在飞行中将rtmp转换为mp4?ffmpeg中的哪种类型的命令?我想使用http协议,而不是rtmp或rtsp,谢谢。

你好啊,潘吉

EN

回答 1

Stack Overflow用户

发布于 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进行转换:

代码语言:javascript
复制
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,这样您就可以将其用作您的海报帧。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23466229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档