zl程序教程

您现在的位置是:首页 >  其它

当前栏目

FFmpeg之mp4转nv12(yuv420)(十二)

FFMPEG 十二 MP4
2023-09-14 09:09:53 时间
一、mp4转nv12
//将mp4转成nv12(yuv420)
# ffmpeg -i input.mp4 -an -pix_fmt nv12 -s 1920x1080 output.yuv

//播放nv12
# ffplay -video_size 1920x1080 -pixel_format nv12 output.yuv


二、yuv与yuv相互转换
1.nv12转nv21
# ffmpeg -pix_fmt nv12 -s 1920x1080 -i nv12.yuv -pix_fmt nv21 nv21.yuv

//播放nv21
# ffplay -video_size 1920x1080 -pixel_format nv21 nv21.yuv

2.nv12转YUV420P(I420)
# ffmpeg -pix_fmt nv12 -s 1920x1080 -i nv12_1.yuv -pix_fmt yuv420p I420_1.yuv

//播放YUV420P(I420)
# ffplay -video_size 1920x1080 -pixel_format yuv420p I420_1.yuv

3.nv12 1920x180转nv12 640x480截取
# ffmpeg -pix_fmt nv12 -s 1920x1080 -i nv12_1.yuv -s 640x480 -pix_fmt nv12 640x480.yuv

4.从nv12中提取y、u、v分量
# ffmpeg -s 1920x1080 -pix_fmt nv12 -i nv12_1.yuv -filter_complex 'extractplanes=y+u+v[y][u][v]' -map '[y]' y.yuv -map '[u]' u.yuv -map '[v]' v.yuv
输出y(1920x1080)、u(960x540)、v(960x540)分量分辨率,用于播放使用:
<1>.Output #0, rawvideo, to 'y.yuv':
  ra