问题描述
ffmpeg -i /wzfgs_img_storage/tuku.img_linux/upload/20210421_164313_803_a2a2.mov -vcodec h264 /video_list/MOV_002.mp4
单独在终端中执行上面的命令转码是可以处理完成视频的,但是用C#的Process调用ffmpeg进行转码,测试多次发现ffmpeg转码大概7分钟程序都会假死,实际查看进程ffmpeg又没有完全退出,但是视频就是中断转码了,后面将代码调整,用错误消息事件输出了ffmpeg的输出消息,这下就可以转换几个GB的视频了,没有出现转码中断情况;
解决关键代码:
主要是要把ffmpeg的输出消息接收到,这样就可以保证转码视频纵然转码耗时三个小时,也是稳定输出正常视频的
//程序异常输出消息
process.ErrorDataReceived +=