【音视频】ffmpeg音视频处理基本流程

一、ffmpeg音视频处理基本流程

首先先看两条命令

shell 复制代码
ffmpeg -i 1.mp4 -acodec copy -vcodec libx264 -s 1280x720 2.flv
ffmpeg -i 1.mp4 -acodec copy -vcodec libx265 -s 1280x720 3.mkv
  • -i :表示输入源,这里是1.mp4,是当前路径下的视频文件
  • -acodec copy: 用于指定音频编码方式。copy 表示直接复制输入文件的音频流,不进行重新编码。这样可以节省处理时间,同时保留原始音频的质量和编码格式。
  • -vcodec libx264/libx265:-vcodec 用于指定视频编码方式,这里使用libx264/libx265编码器进行H264/H265编码
  • -s 1280x720:指定视频的分辨率,这里使用1280 x 720的分辨率
  • .flv/.mkv:指定输出文件的容器(文件)格式,flv和mkv都是常见的音视频容器

生成后的文件:

使用ffprobe查看转换后的视频参数:

shell 复制代码
ffprobe 2.flv

这里的编码是H.264+AAC 分辨率是1200x720:

shell 复制代码
ffprobe 3.mkv

这里的hevc就是H265,音频使用AAC,分辨率是1280x720

我们来看看具体的命令执行流程是怎么样的:

  • 输入文件 : 例如这里的1.mp4
  • 编码数据包:例如这里的视频编码libx264
  • 解码后的数据帧:解码后得到相应的数据帧,进行后续处理
  • 处理数据帧:比如这里的分辨率转换1280x720,通常使用的是filter来处理
  • 编码数据包:把处理后的数据帧重新编码,例如libx265和libx265
  • 输出文件:比如这里的2.flv和3.mkv

如果采用copy模式就不需要指定编码器了

相关推荐
blanks202020 小时前
ffmpeg 学习笔记 通过命令行采集音频
ffmpeg
RTC实战笔记1 天前
实时互动数字人怎么做,才不是一个只会说话的视频?
音视频·数字人·rtc·数字人接入
Mahut5 天前
我用 Electron + FFmpeg 做了一个本地视频处理工作站 ClipForge
前端·ffmpeg·electron
RTC实战笔记13 天前
Android 实时音视频接入教程:媒体补充增强信息(SEI)
音视频·媒体·rtc
潜创微科技14 天前
HDMI1.3 无线传输芯片方案 空旷 150 米量产级音视频方案
音视频
VidDown14 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
换个昵称都难14 天前
音频格式之WAV
音视频
AI创界者14 天前
PilotTTS 一键整合包(Win/Mac):8G 显存畅跑,实测解锁情绪与副语言的精准控制
人工智能·macos·aigc·音视频
u1521096484914 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
VidDown14 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频