目录

音视频ffmpeg命令提取像素格式

【音视频】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

效果如下:

https://i-blog.csdnimg.cn/direct/cb2a9cd3999846e4813039f14c49c7c8.gif

  • 提取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

https://i-blog.csdnimg.cn/direct/d4419aaba9fe4fa182247b1467dba3aa.gif

  • 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

如出现花屏、多个画面等问题

https://i-blog.csdnimg.cn/direct/3e9f27f1360343ae9ffc65232b5100cf.gif

二、提取pcm数据

提取pcm数据需要指定采样率、采样通道、音频格式等数据

这个命令就是把mp3文件中的pcm数据采集出来,需要指定adpcm_ima_alp 编解码器

 ffmpeg -i music.mp3 -codec adpcm_ima_alp -ar 44.1k -ch_layout stereo music.pcm

提取出来的数据如下 https://i-blog.csdnimg.cn/direct/bf46088298a54998a4e77147fc461f66.png

https://i-blog.csdnimg.cn/direct/017025a9b0c0478b93e092bdeb44156a.png