先放实现代码
ffmpeg -f rawvideo -pix_fmt rgb24 -s 1920x960 -r 72 -i out.rgb -vcodec libx265 -x265-params lossless=1 -pix_fmt yuv420p -r 36 test.mp4
-f rawvideo -pix_fmt rgb24 -s 1920x960 -r 72 -i out.rgb
确定输入视频的格式,作用依次为 输入为原始视频、颜色模式为rgb24、分辨率为1920x960、帧率为72、输入文件名。
请一定注意,颜色模式一定根据自身情况设置正确,yuv文件时同理。
此处帧率的设置目的是为了确定视频的时长,rgb yuv文件中的帧数是固定的,但是无法确定时长的,故此处设定帧率便确定了视频的时长是多少,那么无论输出文件的帧率如何,输出文件的时长已然确定。
如rgb文件共计720帧,输入帧率为72,那么时长共计10s。
-vcodec libx265 -x265-params lossless=1 -pix_fmt yuv420p -r 36 test.mp4
此为输入文件设置,作用依次为 调用x265编码器、设置为无损模式、颜色模式为yuv420、输入帧率为36、输出文件名。
请注意,这里输出文件的帧率是36,与前面的72减半,但是由于时长已经确定为10s,故程序处理到320帧左右就会完成。