gpt4 book ai didi

ffmpeg - 如何使用 FFMPEG 即时将 RTMP 转换为 mp4?

转载 作者:行者123 更新时间:2023-12-04 22:52:04 29 4
gpt4 key购买 nike

我想问一下实时流媒体,我有 wowza 服务器并在 Web 客户端中使用了 rtmp 协议(protocol),问题是如何在桌面和移动设备等所有设备中兼容,我使用的是 ffmpeg,但是如何即时将 rtmp 更改为 mp4? ffmpeg中的什么类型命令?我想使用协议(protocol) http 而不是 rtmp 或 rtsp,谢谢。

问候,
潘集

最佳答案

如果您想要实时 http 流 (HLS),那么您应该使用 wowza 的 cupertinostreamingpacketizer<LiveStreamPacketizers>列出并将非 rtmp 客户端指向 http://your-server:1935/live/yourstream/playlist.m3u8 .不需要ffmpeg。通常在 wowza 上默认启用 HLS 分包器,因此只需尝试在支持 html5+h264 的浏览器中访问该 URL。请记住,您的编码软件必须编码为 h264,而不是 v6 编解码器。

您的 HLS 流将比 rtmp 流晚 30 秒 - 1 分钟。如果您希望流在设备之间同步,请考虑使用 HDS (sanjosestreamingpacketizer) 而不是 rtmp,并将支持 HDS 的 Flash 播放器指向 http://your-server:1935/live/yourstream/manifest.f4m .

如果您想将实时流录制为 mp4 以供以后播放,您可以使用 wowza 的内置录制 API - 请参阅 http://www.wowza.com/forums/content.php?123#userinterface .

或者,您可以使用 rtmpdump(在大多数 unix 系统上通常作为一个包提供)来获取 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,以便您可以将其用作海报帧。

关于ffmpeg - 如何使用 FFMPEG 即时将 RTMP 转换为 mp4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23466229/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com