我有一个原始的h264文件,可以在Mac上用VLC显示:
打开-a VLC文件.h264
我可以使用命令行将其转换为mp4
ffmpeg -f h264 -i file.h264 -c:v copy file.mp4
但是我真正想做的是:
cat file.h264 | ffmpeg> file.mp4
原因是输入来自套接字,我想将其转换并即时将其发送到html文件中的视频标签。
一种替代解决方案是一种在网页中显示原始h264的方法,而无需先将其转换为mp4。
输入正在逐帧输入,前四个字节为0,0,0,1。我的理解是,这种h264 Annex B格式。
我对视频格式一无所知,不胜感激。
我应该考虑使用像这样的问题的libavcodec编写代码吗?还是有现成的解决方案?
H.264 muxed to MP4 using libavformat not playing back
谢谢!
答案 0 :(得分:1)
下面的命令行将创建一个片段化的MP4(Windows cmd)
type test.h264 | ffmpeg -i - -vcodec copy -f mp4 -movflags frag_keyframe+empty_moov pipe:1 > test_frag.mp4
您应该能够找到很多JavaScript代码来播放零碎的MP4。