ffmpeg 无法转码并将输出提供给 -f mp4 的流

标签 ffmpeg mp4 http-live-streaming

我一直在使用 ffmpeg 进行转码。
最近我有一个要求,即 ffmpeg 输出不需要到文件而是到 stdout ,稍后将被捕获然后发送回callingurl。
我在 flv 和 avi 上取得了一些初步成功,但是在使用 -f 标志时在 mp4 上失败了。
这是我的代码,需要认真研究一下

这适用于播放器:

ffmpeg -loglevel quiet -i cat_dog.mp4 -vbsf h264_mp4toannexb -vcodec copy \
-acodec copy -f mpegts -movflags frag_keyframe+empty_moov -re - 2>&1

这不能由玩家播放:
ffmpeg -loglevel quiet -i cat_dog.mp4 -vbsf h264_mp4toannexb -vcodec copy \
-acodec copy -f MP4 -movflags frag_keyframe+empty_moov -re - 2>&1

最佳答案

如前所述in the docs , 使用 -movflags 的缺点是它“与其他应用程序的兼容性较差”。

对于 flv 或 avi 格式,-movflags选项将是无关的并被忽略,但使用 mp4 它将生效并可能破坏兼容性。

关于ffmpeg 无法转码并将输出提供给 -f mp4 的流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11546845/

相关文章:

javascript - 我可以将多个 m3u8 文件合并为一个 m3u8 文件吗?

c++ - 使用命名管道 (C++) 将图像发送到 FFMPEG

html - 我可以在一段时间后隐藏我网站上的嵌入视频吗?

php - 来自 PHP 的 mp4 - 不在 HTML5 视频标签中播放

iphone - 在 iOS 客户端上使用 HTTP Live Streaming 播放音频文件流,而不会丢失 Quick Time 的 UI

android - Android 上的 JWPlayer 6 多语言

php - ffmpeg 输出 + 问题

安装FFmpeg时gcc无法创建可执行文件

ffmpeg - 如何在没有 vhook 的情况下使用 ffmpeg 向视频添加文本?

android - 如何将 GIF 转换为 Mp4?