前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )

【FFmpeg】使用 FFmpeg 处理音视频格式转换流程 ( 解复用 | 解码 | 帧处理 | 编码 | 复用 )

作者头像
韩曙亮
发布2023-03-29 14:06:27
3.7K0
发布2023-03-29 14:06:27
举报
文章被收录于专栏:韩曙亮的移动开发专栏

FFmpeg 系列文章目录

【FFmpeg】Windows 搭建 FFmpeg 命令行运行环境

【FFmpeg】FFmpeg 相关术语简介

【FFmpeg】FFmpeg 相关术语简介 二

【FFmpeg】FFmpeg 帮助文档使用

【FFmpeg】使用 FFmpeg 处理音视频格式转换流程


文章目录

一、视频格式转换


1、x264 视频格式转换

使用 x264 压缩格式 , 将原始 大小 1920x1040 大小的 mp4 格式的视频转为 960x520 的 flv 格式的视频 ;

进入视频所在目录 , 执行如下命令 :

代码语言:javascript
复制
ffmpeg -i 1920x1040.mp4 -acodec copy -vcodec libx264 -s 960x520 960x520.flv

命令执行过程 :

转换前的视频信息 :

转换后的视频信息 :

2、x265 视频格式转换

使用 x265 压缩格式 , 将原始 大小 1920x1040 大小的 mp4 格式的视频转为 960x520 的 mkv 格式的视频 ;

进入视频所在目录 , 执行如下命令 :

代码语言:javascript
复制
ffmpeg -i 1920x1040.mp4 -acodec copy -vcodec libx265 -s 960x520 960x520.mkv

命令执行结果 :

转换前的视频信息 :

转换后的视频信息 :

二、视频格式转换流程


分析如下命令的详细流程 :

代码语言:javascript
复制
ffmpeg -i 1920x1040.mp4 -acodec copy -vcodec libx264 -s 960x520 960x520.flv

将 1920x1040 大小的 mp4 格式的视频文件 , 使用 x264 编解码器 , 转为 960x520 大小的 flv 格式的视频文件 ;

蓝色的是 文件 / 中间产物 , 红色的是过程 ;

输入文件 : 输入 1920x1040 大小的 mp4 格式文件 , 1920x1040.mp4 ;

解复用 : 使用 demuxer 解复用器 , 将输入文件进行解复用操作 , 从容器中分别将 AVC 视频流 , AAC LC 音频流取出 , 得到编码数据包 ;

编码数据包 : 该数据包中的音视频数据都是编码后的数据 , 不能直接使用 ; 编码数据包中的视频流数据是 AVC 编码格式的 , 音频流数据是 AAC LC 编码格式的 ;

解码 : 使用 decoder 解码器 , 解码 AVC 编码的视频流数据 , AAC LC 编码的音频流数据 , 得到解码后的数据 ;

解码后的数据帧 : 音频数据是 PCM 采样 , 视频帧 数据是一张张 YUV 格式的图片 ;

帧处理 : 使用 filter 过滤器 处理 解码后的数据帧 , 将其转为 处理后的数据帧 ; 该过程中将视频的分辨率进行了修改 , 分辨率从 1920x1040 转为 960x520 ;

如果要修改视频的相关参数 , 如 时间 , 帧率 , 都在该步骤进行操作 , 操作的主体一定是解码后的数据帧 ;

处理后的数据帧 : 该数据帧是可以直接用于播放 ; 音频数据是 PCM 采样 , 视频帧 数据是一张张 YUV 格式的图片 ;

编码 : 使用 encoder 编码器 , 将处理后的数据帧进行编码 , 音频从 PCM 采样转为 AAC LC 编码格式 , 视频从 YUV 图片编码为 AVC 编码格式 ,

编码数据包 : 音频数据是 AAC LC 编码格式 , 视频数据是 AVC 编码格式 ;

复用 : 使用 muxer 复用器 , 将编码后的 视频流 和 音频流 封装到 容器中 , 即 flv 格式的视频文件 , 得到输出文件 ;

输出文件 : 格式转换完毕的 960x520.flv 视频文件 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • FFmpeg 系列文章目录
    • 文章目录
    • 一、视频格式转换
      • 1、x264 视频格式转换
        • 2、x265 视频格式转换
        • 二、视频格式转换流程
        相关产品与服务
        容器服务
        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档