我一直试图让libx264(版本142)的c ++包装器工作。我能够在编码过程中生成带有x264且没有错误的视频。大多数标准视频播放器(QuickTime,VLC ......)无法读取,但不显示任何错误。但是,mplayer能够读取它。
我无法确定它有什么问题(Corrupt header?Corrupt data?)。
视频可在此处找到:https://www.dropbox.com/s/godnip85pezdi89/test_h264.mp4?dl=0
用于编码视频的libx264包裹的类在这里:https://gist.github.com/anonymous/4eb46b838fcf84ed02aa
非常感谢任何有助于确定我所做错事的帮助。
谢谢!
答案 0 :(得分:2)
您的视频文件是原始的基本H.264流(附件B),而不是文件名建议的MP4。大多数玩家无法在没有复制到MP4 / MKV之类的容器的情况下播放原始的H.264流。您可以使用MKVToolnix(MKV),L-SMASH(MP4)或GPAC / MP4Box(MP4)来复用流。
答案 1 :(得分:0)
谢谢!我确实能够使用ffmpeg:
将原始h264复制到mp4容器中 ffmpeg -i test_h264.mp4 -vcodec copy -acodec copy muxed_video.mp4