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

1、提取YUV数据

  • 提取yuv数据,并保持分辨率与原视频一致

使用-pix_fmt或-pixel_format指定yuv格式提取数据,并保持原来的分辨率

shell 复制代码
ffmpeg -i music.mp4 -t "01:00" -pixel_format yuv420p music.yuv

提取成功后,可以使用ffplay指定yuv数据的帧率、分辨率来播放:

shell 复制代码
ffplay .\music.yuv -framerate 30 -video_size 1920x1080
  • 提取视频并且改变分辨率,比如改变分辨率为1280x720
shell 复制代码
ffmpeg -i music.mp4 -pix_fmt yuv420p -s 1280x720 music.yuv

使用ffplay播放:

shell 复制代码
ffplay .\music.yuv -framerate 30 -video_size 1280x720

效果如下:

  • 提取RGB数据
shell 复制代码
ffmpeg -i music.mp4 -pix_fmt rgb24 -s 1280x720 music.rgb

使用ffplay播放rgb数据,如果指定为yuv就会出现花屏

shell 复制代码
ffplay .\music.rgb -pixel_format rgb24 -framerate 30 -video_size 1280x720
  • rgb与yuv互转

指定输入源格式和输出源格式即可实现格式互转,如把rgb转换为yuv:

注意这里一开始需要给定输入源的帧率和分辨率、像素格式

shell 复制代码
ffmpeg  -pixel_format rgb24 -framerate 30 -s 1920x1080 -i music.rgb -pixel_format yuv420p music_rgbtoyuv.yuv 

使用ffplay播放即可,如果指定播放格式不对,就会出现各种问题

shell 复制代码
ffplay music_rgbtoyuv.yuv -pixel_format yuv420p -video_size 1920x1080

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

二、提取pcm数据

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

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

shell 复制代码
 ffmpeg -i music.mp3 -codec adpcm_ima_alp -ar 44.1k -ch_layout stereo music.pcm

提取出来的数据如下

相关推荐
零一iTEM1 小时前
MAX98357A_音频输出测试
单片机·嵌入式硬件·开源·音视频·硬件工程
Android系统攻城狮2 小时前
Android16进阶之获取播放位置MediaPlayer.getCurrentPosition调用流程与实战(二百二十八)
音视频·android16·音频进阶·音频性能实战
炼金术2 小时前
SkyPlayer v1.2.0 : AI 字幕-端侧 Whisper 实时语音识别实践
ffmpeg·openai
愚公搬代码4 小时前
【愚公系列】《AI短视频创作一本通》020-AI短视频创作实例精解(文旅宣传AI短视频实例精解)
人工智能·音视频
有位神秘人4 小时前
Android获取设备中本地音频
android·音视频
硫酸锌014 小时前
使用ffmpeg合并文件夹内的所有*.mp4格式视频
ffmpeg·音视频
源文雨4 小时前
shell调用ffmpeg递归转换所有wav至flac的脚本
ffmpeg·bash·音视频·音频·unix·shell·音频编码
西部秋虫4 小时前
迷你视频会议系统(FlashMeeting)
opencv·ffmpeg·视频会议·回声抑制
愚公搬代码4 小时前
【愚公系列】《AI短视频创作一本通》019-AI语音及音乐的创作(AI短视频语音创作实例)
人工智能·音视频
iWZXQxBO16 小时前
运动控制卡 倒R角程序 G代码 halcon联合运动控制卡联合相机 运动控制卡内容
音视频