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

提取出来的数据如下

相关推荐
程序员Linc3 小时前
用OpenCV写个视频播放器可还行?(Python版)
python·opencv·音视频
cuijiecheng20185 小时前
音视频入门基础:RTP专题(16)——RTP封装音频时,音频的有效载荷结构
音视频
群联云防护小杜5 小时前
语音视频App协议安全实战:防御伪造/窃听/Deepfake攻击
运维·服务器·爬虫·安全·web安全·音视频
Junson1420996 小时前
PPT内视频播放无法播放的原因及解决办法
powerpoint·音视频·ppt
微丽宝9 小时前
混元图生视频-腾讯混元开源的图生视频模型
音视频
li158172604149 小时前
代理MS1861 宏晶微 适用于各种视频显示和控制应用,提供了高性能的视频处理和显示控制功能 提供样品+数据手册
图像处理·音视频·信号处理
山河君9 小时前
音频进阶学习十九——逆系统(简单进行回声消除)
学习·算法·音视频·信号处理
q5673152310 小时前
使用CPR库编写的爬虫程序
开发语言·爬虫·golang·音视频
浪九天15 小时前
面向高质量视频生成的扩散模型方法-算法、架构与实现【附核心代码】
python·深度学习·算法·机器学习·自然语言处理·数据挖掘·音视频