【音视频】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模式就不需要指定编码器了

相关推荐
程序员老陆2 小时前
WHIP 与 WHEP:WebRTC 直播的标准化入口与出口
ffmpeg·音视频·webrtc·whip·whep
linux_cfan4 小时前
16 · `custom-media-element`:属性拦截与转发
前端·javascript·音视频
纽格立科技7 小时前
动力的转向:当智能不再依赖碳基
车载系统·音视频·信息与通信·传媒
烟雨江南7857 小时前
会议语音识别私有化部署方案:音频不出内网,如何接入现有会议系统
人工智能·websocket·音视频·语音识别·ai客服
镭封21 小时前
短剧多人对白怎么配?一人完成多角色配音的办法
人工智能·音视频·语音识别·媒体
技灵AI1 天前
Wan 3.0 API怎么做多参考商品视频?从图片、视频、音频分工到30秒交付
人工智能·prompt·aigc·音视频·wan 3.0
赛博仓鼠1 天前
MiniMax H3 实测:8GB显存跑2K视频+原生音频,开源视频生成的新卷王
开源·aigc·音视频
byte轻骑兵1 天前
【LE Audio】PBP精讲[4]: 公共广播通告的设计逻辑与数据交互流程
人工智能·音视频·le audio·低功耗蓝牙音频
hz567891 天前
手术室视频示教系统解决方案:让临床教学突破空间限制
安全·音视频·实时音视频·信息与通信·智能硬件
可乐鸡翅yeah_1 天前
混合内容 Mixed‑Content 安全策略,HLS HTTPS 页面加载 HTTP 资源排错实战
运维·ffmpeg·音视频·媒体·m3u8