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

提取出来的数据如下

相关推荐
阿洛学长4 小时前
MoneyPrinterTurbo 深度解析与部署实战:AI 一键短视频生成,从源码到上线全攻略
人工智能·音视频
MR.欻10 小时前
ZLMediaKit 源码分析(四):RTP/RTCP 协议栈实现分析
c++·人工智能·vscode·ffmpeg·音视频
运维栈记11 小时前
Remotion + Claude Code:用自然语言创作视频的革命性突破
人工智能·ai·音视频
晓py12 小时前
音视频基础概念入门_FFmpeg学习笔记
学习·ffmpeg·音视频
ACP广源盛1392462567312 小时前
GSV2221@ACP# 高带宽低功耗显示转换芯片,赋能 TRAE SOLO 设备高清扩展升级
人工智能·嵌入式硬件·电脑·音视频
丷丩12 小时前
MapLibre GL JS第30课:添加视频
javascript·音视频·gis·mapbox·maplibre gl js
JasonSJX13 小时前
如何更好地保护视频内容免受盗版侵害
音视频·drm·视频加密·数字版权保护
“码”力全开13 小时前
突破异构算力与协议围墙:基于 Docker 与边缘计算的 GB28181/RTSP 视频智能管理平台架构实践(附源码交付)
docker·音视频·边缘计算
daqinzl14 小时前
Mpegts.js+FFmpeg+WebSocket+Node实时视频流实现方案
websocket·ffmpeg·node·mpegts.js
“码”力全开14 小时前
基于 Docker 容器化与异构计算的工业级视频中台架构:GB28181/RTSP 双协议栈统一接入与源码交付深度解析
docker·架构·音视频