我使用ffmpeg进行代码转换已经有一段时间了。最近,我得到了一个需求,其中ffmpeg输出不需要到文件,而是到stdout,稍后将捕获并发送回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
如文档中所述,使用-movflags
的缺点是"与其他应用程序的兼容性较差"
对于flv或avi格式,-movflags
选项将是无关的并被忽略,但对于mp4,它将生效并可能破坏兼容性。