ffmpeg转yuv到h264
ffmpeg -s 320x240 -pix-fmt yuv420p -i h264.yu v -an -vcodec libx264 -b 500 -r 24 -s 320x240 -vpre default h264.mp4
这个只是样例,转换出的视频非常不清楚。
另外,注意-vcodec不能写在-i前面,否则ffmpeg就认为你是告诉它,输入格式是h264;
当然,如果要指定输入格式,不是写libx264,要写-vcodec h264。


ffmpeg -threads 4 -s 320x240 -i h264.yuv -r 29.97 -vcodec libx264 -s 320x240 -flags +loop -cmp +chroma -deblockalpha 0 -deblockbeta 0 -crf 24 -bt 256k -refs 1 -coder 0 -subq 5 -partitions +parti4x4+parti8x8+partp8x8 -g 250 -keyint_min 25 -level 30 -qmin 10 -qmax 51 -trellis 2 -sc_threshold 40 -i_qfactor 0.71 -acodec libfaac -ab 128k -ar 48000 -ac 2 test.mp4
这个可以转换出非常清晰的视频,看来这个h264的参数太复杂,太重要了。
可以把最后的后缀换成avi,因为avi是个兼容性很强的容器,只是换成avi后,生成的视频无法在Android上播放。