Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ffmpeg无法为-f mp4转码并向流提供输出_Ffmpeg_Mp4_Http Live Streaming - Fatal编程技术网

ffmpeg无法为-f mp4转码并向流提供输出

ffmpeg无法为-f mp4转码并向流提供输出,ffmpeg,mp4,http-live-streaming,Ffmpeg,Mp4,Http Live Streaming,我已经使用ffmpeg进行转码很长一段时间了。 最近我有一个要求,ffmpeg输出不需要到文件,而是到标准输出,稍后将捕获标准输出,然后发送回callingurl。 我在flv和avi上取得了一些初步的成功,但在mp4上使用-f标志时失败了。 这是我的代码,需要认真研究一下 这对玩家很有效: ffmpeg -loglevel quiet -i cat_dog.mp4 -vbsf h264_mp4toannexb -vcodec copy \ -acodec copy -f mpegts -mov

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

这对玩家很有效:

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
这不能由玩家玩:

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
如前所述,使用
-movflags
的缺点是“与其他应用程序不太兼容”


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

什么是“Get failure”?错误消息?没有错误消息,但文件无法播放?感谢MP4的-movflags副作用。我所说的“失败”是指视频正在被转换编码并传输到标准输出。当-f flv/mpegts标志起作用时,此管道输出无法在视频播放器中播放。另外,在视频开始时用moov atom对MP4输出进行转码的标准方法是什么。标准方法是对整个电影进行转码,然后将moov atom移到文件的开头而不是结尾。我所知道的唯一的替代方法是使用moovflags等制作一个碎片化的MP4,但你已经看到,这并不总是很好地工作。MP4格式在转码时不支持流式传输。感谢您的评论,我想我需要为MP4格式it MPGTS编写一个错误更正代码。MPEGTS是为DVB本机构建的,不会中断转码和流式传输。我希望这个组合能解决破损问题。