ffmpeg(三):处理原始数据命令

FFmpeg 可以直接处理原始音频和视频数据(Raw PCM、YUV 等),常见场景包括:

  • 将原始 YUV 图像编码为 H.264 视频
  • 将 PCM 音频编码为 AAC 或 MP3
  • 对原始音视频数据进行封装(如封装为 MP4、TS)

处理原始 YUV 视频数据

有一个 YUV420P 格式的原始视频帧文件 input.yuv,分辨率为 1280x720,帧率为 25fps:

编码为 H.264:

bash 复制代码
ffmpeg -f rawvideo -pix_fmt yuv420p -s 1280x720 -r 25 -i input.yuv -c:v libx264 output.mp4

说明:

  • -f rawvideo:输入是原始视频流
  • -pix_fmt yuv420p:指定像素格式
  • -s:分辨率
  • -r:帧率
  • -i input.yuv:输入文件
  • -c:v libx264:使用 H.264 编码器

处理原始 PCM 音频数据

有一个 16-bit 小端 PCM 原始音频 input.pcm,采样率 44100,双声道:

编码为 AAC:

bash 复制代码
ffmpeg -f s16le -ar 44100 -ac 2 -i input.pcm -c:a aac output.m4a

说明:

  • -f s16le:16 位小端 PCM 格式
  • -ar:采样率
  • -ac:声道数
  • -c:a aac:使用 AAC 编码器

原始音视频合并封装(如裸流封装为 MP4)

有:

  • 视频帧文件:input.yuv
  • 音频帧文件:input.pcm

可以同步编码并封装为 MP4:

bash 复制代码
ffmpeg \
  -f rawvideo -pix_fmt yuv420p -s 1280x720 -r 25 -i input.yuv \
  -f s16le -ar 44100 -ac 2 -i input.pcm \
  -c:v libx264 -c:a aac \
  output.mp4

解码为原始数据(反向)

解码 MP4 为 YUV:

bash 复制代码
ffmpeg -i input.mp4 -c:v rawvideo -pix_fmt yuv420p output.yuv

解码 MP3/AAC 为 PCM:

bash 复制代码
ffmpeg -i input.mp3 -f s16le -ar 44100 -ac 2 output.pcm

格式参数表

数据类型 FFmpeg 格式参数 (-f) 说明
YUV420P rawvideo 原始视频帧数据
PCM 16bit s16le 原始音频数据
RGB24 rawvideo, rgb24 RGB 帧数据
相关推荐
程序员老陆4 小时前
WHIP 与 WHEP:WebRTC 直播的标准化入口与出口
ffmpeg·音视频·webrtc·whip·whep
可乐鸡翅yeah_1 天前
混合内容 Mixed‑Content 安全策略,HLS HTTPS 页面加载 HTTP 资源排错实战
运维·ffmpeg·音视频·媒体·m3u8
刘广睿2 天前
视频导出为什么发灰?色彩空间与色彩范围(BT.601/709/2020)的 ffmpeg 转换实战
ffmpeg·音视频·视频处理·色彩空间·素材管理
yivifu2 天前
精选FFmpeg 实用音频视频转换命令集
ffmpeg·音视频转换
风哥2号6 天前
数据库教程FGMT02‑生产环境Linux+Oracle19c安装配置与项目实战
linux·数据库·ffmpeg
Bruce_Liuxiaowei6 天前
录屏片段无损合并:从 ffmpeg concat 原理到 Python 自动化脚本
python·ffmpeg·自动化
工具派8 天前
口播视频怎么自动剪掉冷场?视频静音删除的阈值实测
ffmpeg·音视频·视频
❀͜͡傀儡师8 天前
移动端 360° 商品展示方案:从 20MB 雪碧图到 800KB 丝滑视频
ffmpeg·webgl·sprite
2501_930472448 天前
深度复盘|数据库迁移实战(上):腾讯云助手解析慢查询日志,定位索引缺失与语法不兼容
数据库·阿里云·ffmpeg·云计算·腾讯云·aws
我就是DaLing呀!8 天前
flutter + ffmpeg_kit_extended_flutter 大视频合并下载
flutter·ffmpeg·音视频