【音视频】ffmpeg命令提取像素格式
1、提取YUV数据
- 提取yuv数据,并保持分辨率与原视频一致
使用-pix_fmt或-pixel_format指定yuv格式提取数据,并保持原来的分辨率
ffmpeg -i music.mp4 -t "01:00" -pixel_format yuv420p music.yuv
提取成功后,可以使用ffplay指定yuv数据的帧率、分辨率来播放:
ffplay .\music.yuv -framerate 30 -video_size 1920x1080
- 提取视频并且改变分辨率,比如改变分辨率为1280x720
ffmpeg -i music.mp4 -pix_fmt yuv420p -s 1280x720 music.yuv
使用ffplay播放:
ffplay .\music.yuv -framerate 30 -video_size 1280x720
效果如下:
- 提取RGB数据
ffmpeg -i music.mp4 -pix_fmt rgb24 -s 1280x720 music.rgb
使用ffplay播放rgb数据,如果指定为yuv就会出现花屏
ffplay .\music.rgb -pixel_format rgb24 -framerate 30 -video_size 1280x720
- rgb与yuv互转
指定输入源格式和输出源格式即可实现格式互转,如把rgb转换为yuv:
注意这里一开始需要给定输入源的帧率和分辨率、像素格式
ffmpeg -pixel_format rgb24 -framerate 30 -s 1920x1080 -i music.rgb -pixel_format yuv420p music_rgbtoyuv.yuv
使用ffplay播放即可,如果指定播放格式不对,就会出现各种问题
ffplay music_rgbtoyuv.yuv -pixel_format yuv420p -video_size 1920x1080
如出现花屏、多个画面等问题
二、提取pcm数据
提取pcm数据需要指定采样率、采样通道、音频格式等数据
这个命令就是把mp3文件中的pcm数据采集出来,需要指定adpcm_ima_alp 编解码器
ffmpeg -i music.mp3 -codec adpcm_ima_alp -ar 44.1k -ch_layout stereo music.pcm
提取出来的数据如下