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
提取出來的數據如下