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

news/2025/3/10 22:08:15/

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

首先先看两条命令

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查看转换后的视频参数:

ffprobe 2.flv

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

在这里插入图片描述

ffprobe 3.mkv

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

在这里插入图片描述

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

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

在这里插入图片描述

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


http://www.ppmy.cn/news/1578185.html

相关文章

springboot项目中一个类的构造方法什么时候调用

在 Spring Boot 中,如果一个类没有默认的无参构造方法,但定义了一个带参数的构造方法,Spring 会自动调用这个带参数的构造方法来完成依赖注入。这是 Spring 的构造器注入机制的一部分。 对于 public HelloworldController(ChatClient.Builde…

20250307确认荣品PRO-RK3566开发板在Android13下的以太网络共享功能

20250307确认荣品PRO-RK3566开发板在Android13下的以太网络共享功能 2025/3/7 13:56 缘起:我司地面站需要实现“太网络共享功能”功能。电脑PC要像连接WIFI热点一样连接在Android设备/平板电脑上来实现上网功能/数据传输。 Android设备/平板电脑通过4G/WIFI来上网。…

095:vue+cesium 使用Cesium3DTileset加载3D瓦片数据

作者: 还是大剑师兰特 ,曾为美国某知名大学计算机专业研究生,现为国内GIS领域高级前端工程师,CSDN知名博主,深耕openlayers、leaflet、mapbox、cesium,canvas,echarts等技术开发,欢迎加微信(gis-dajianshi),一起交流。 查看本专栏目录 - 本文是第 095篇文章 文章目录…

Windows 图形显示驱动开发-WDDM 3.2-用户模式工作提交(二)

用户模式工作提交 API 添加了以下用户模式 API,以支持用户模式工作提交。 D3DKMTCreateDoorbell 为 D3D HWQueue 创建一个Ring,用于用户模式工作提交。D3DKMTConnectDoorbell 将先前创建的Ring连接到 D3D HWQueue,用于用户模式工作提交。D3…

小米安全攻防工程师面试题解析

前言: 本文将分享一些小米安全攻防工程师面试中的经典题目和答案解析,帮助大家更好地准备面试。以下内容涵盖了SQL注入、PHP与Java的预编译区别、SSRF攻击、防御方法等。 1. SQL注入怎么预防,预编译为什么能防? SQL注入是攻击者…

系统架构设计师—数据库基础篇—数据库优化技术

文章目录 集中式数据库反规范化设计分类保证数据的一致性方法 分布式数据库主从复制基本过程binlog的同步模式MySQL的同步模式 读写分离分表分库 分布式缓存技术-Redis数据类型读写数据的基本步骤读数据写数据 过期策略惰性删除定期删除内存淘汰机制 持久化缓存异常问题缓存穿透…

小程序 -- uni-app开发微信小程序环境搭建(HBuilder X+微信开发者工具)

目录 前言 一 软件部分 1. 微信开发者工具 2. HBuilder X 开发工具 二 配置部分 1. 关于 HBuilder X 配置 2. 关于 微信开发工具 配置 三 运行项目 1. 新建项目 2. 代码编写 3. 内置浏览器 编译 4. 配置小程序 AppID获取 注意 四 实现效果 前言 uni-app开发小程…

K8s 1.27.1 实战系列(六)Pod

一、Pod介绍 1、Pod 的定义与核心设计 Pod 是 Kubernetes 的最小调度单元,由一个或多个容器组成,这些容器共享网络、存储、进程命名空间等资源,形成紧密协作的应用单元。Pod 的设计灵感来源于“豌豆荚”模型,容器如同豆子,共享同一环境但保持隔离性。其核心设计目标包括…