起因是前端需要在线播放视频,只支持H.264视频编码
一开始尝试直接改opencv的fourcc结果无法生成视频,因为之前在这里坑了很久也调不出个所以然,所以继续用MP4V编码器,在下一步的ffmpeg合并视频音频时再改视频编码。
'ffmpeg -i {} -i {} -c:v h264 -c:a aac -strict experimental {}'.format(
input_video, input_audio, output_video)
报错:Unknown encoder 'h264',搜了一下,在用H.264编码时应该安装sudo apt-get install libx264-dev
然后用libx264(StackOverflow-OpenCV: FFMPEG: tag 0x34363268/'h264' is not supported with codec)。
使用sudo安装失败,在anaconda cloud找到了正确的安装方式:conda install -c oddconcepts libx264
,更改代码如下:
'ffmpeg -i {} -i {} -c:v libx264 -c:a aac -strict experimental {}'.format(
input_video, input_audio, output_video)
报错:Unknown encoder 'libx264',搜到这个帖子:StackOverflow-How to use libx264 ffmpeg in conda environment?,里面说要把--disable-libx264调成enable,在搜怎么调的时候搜到了这个帖子:AnacondaのFFmpegにlibx264を入れる方法が分からない,评论提到conda install x264 ffmpeg -c conda-forge
,跑了这个以后终于可以跑通了。
网友评论