音视频开发7 音视频转换格式流程

news2024/9/24 13:13:51

先看条转换视频文件的命令

我们的目的是将  源文件 source_1920x1080.mp4 转换成 目标文件 dest_1280x720.flv

ffmpeg -i source_1920x1080.mp4 -acodec copy -vcodec libx264 -s 1280x720 dest_1280x720.flv
-acodec copy 的意思是,目标的 音频格式 使用和 源文件一样的格式。
-vcodec libx264  的意思是,目标的 视频格式 使用 libx264  格式
-s 1280x720 的意思是,目标的视频的大小为 1280x720
dest_1280x720.flv   的意思是,目标文件的名字为 dest_1280x720.flv
按照上述标准,那么我们生成的  目标文件, 声音部分 和 视频部分应该是如下的样式的:
声音部分编码保持不变,还是 AAC 的
视频部分编码 从源文件的视频编码 变成 x264的,由于源文件的视频编码本身也是AVC的(也就是x264的),因此对于用于当前演示的这个文件,实际上也是不变的,但是如果换一个 源文件的视频编码不是x264的,就需要对源文件的编码进行改动。

主要的处理流程

这里要注意的是:如果是音频流的格式没有变化,那么理论上不需要  解码 -- 处理数据帧 -- 编码 这个过程。

请思考:

如果视频流的格式没有变化,需要这个过程吗?  解码 -- 处理数据帧 -- 编码

如果视频的大小有变化,例如从1920x1080 变成 1280x720 . 应该是需要的

重要概念:

容器(Container)


容器就是一种文件格式,比如flv、mkv、mp4等。包含下面5种流以及文件头信息。

流(Stream)


是一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据。

包(Packet)


在ffmpeg中包代表已经编码好的一个单位的音频或者视频。

帧(Frame)


在ffmpeg中帧代表一幅静止的图像(yuv数据)或一些数量的音频采样。

编解码器(Codec)

是对视频进行压缩或者解压缩,CODEC =ENCode (编码) +DECode(解码)

复用/解复用(mux/demux)


把不同的流按照某种容器的规则放入容器,这种行为叫做复用(mux)
把不同的流从某种容器中解析出来,这种行为叫做解复用(demux)

为了更好理解以上概念,下面以h264+aac编码的flv文件转码为 h265+mp3编码的mp4文件为例,ffmpeg的处理流程是这样的:

三 学习路线中的问题解答。基础知识-- 解复用基础知识

原文链接:https://blog.csdn.net/weixin_52622200/article/details/136683908

1.什么是解复用?比如mp4格式

把不同的流按照某种容器的规则放入容器,这种行为叫做复用(mux)
把不同的流从某种容器中解析出来,这种行为叫做解复用(demux)

解复用是指将音视频数据从容器格式中解封装出来,并进行解码操作,得到原始的音频和视频信号的过程。在音视频开发中,容器格式如MP4内部包含了音频轨、视频轨以及其他元数据,解复用过程就是将这些数据提取出来并进行解码,以便播放或者进一步处理。

对于MP4格式,解复用的过程包括以下步骤:

解析文件结构:首先需要读取MP4文件的头部信息,这包括了文件的基本结构、各个数据块的位置和大小等元数据。
定位音视频数据:根据文件结构信息,找到音频轨和视频轨的位置和大小。
音频解复用:将音频数据从MP4格式中提取出来,并进行解码操作,得到原始的音频信号。
视频解复用:将视频数据从MP4格式中提取出来,并进行解码操作,得到原始的视频信号。
在解复用的过程中,需要使用相应的解码器对音频和视频数据进行解码操作,得到原始的音频和视频信号,以便后续的播放或处理

2.为什么需要不同的复用格式 mp4/FLV/TS

主要原因包括以下几点:

容器格式特性:

MP4(MPEG-4 Part 14):MP4是一种通用的多媒体容器格式,支持多种编码格式的音频和视频数据,常用于存储和播放音视频文件。MP4格式具有良好的兼容性和广泛的支持,适用于多种场景。
FLV(Flash Video):FLV是Adobe Flash Player使用的一种视频容器格式,通常用于网络视频播放。FLV格式支持在Web上高效地传输和播放视频内容,适合在线视频流媒体。
TS(Transport Stream):TS是一种用于传输和存储音视频数据的格式,常用于数字电视、广播和视频流媒体。TS格式适合实时传输和广播环境,具有较好的抗干扰性和稳定性。
应用场景:

MP4适用于通用的存储和播放需求,广泛应用于本地视频文件、在线视频平台等场景。
FLV常用于在线视频流媒体服务,如Flash播放器、网络直播等。
TS适用于数字电视、广播、IPTV等需要实时传输和播放的场景,具有优秀的传输性能和稳定性。
编解码支持:

不同的复用格式可能对特定的编码格式有更好的支持,例如某些格式可能更适合H.264编码的视频数据,而另一些则更适合AAC编码的音频数据。
网络传输特性:

不同的复用格式可能对网络传输有不同的优化,如TS格式在传输过程中可以更好地处理丢包和延迟等问题。

3.常见的复用格式 mp4/FLV/TS

当谈及常见的复用格式时,我们通常会提到MP4、FLV和TS这三种格式。下面我将对它们进行更详细的讲解:

MP4(MPEG-4 Part 14)

MP4是一种通用的多媒体容器格式,最初由国际标准化组织制定。它可以存储视频、音频、文本和图形等数据,并且支持多种编码格式的音频和视频数据。MP4文件通常使用H.264(视频编码)和AAC(音频编码)作为默认的编码方式。

特点:

  • 广泛兼容性: MP4格式拥有非常好的兼容性,几乎所有的主流设备和播放器都支持MP4格式。
  • 网络传输: 由于其压缩效率高,因此在网络上传输中占用较小的带宽。
  • 应用领域: 适用于通用的存储和播放需求,如本地视频文件、在线视频平台等

FLV(Flash Video)


FLV是Adobe Flash Player使用的一种视频容器格式,最初被设计用于在Web上高效地传输和播放视频内容。

特点:

网络传输: FLV格式在网络传输中具有优异的表现,它能够提供较好的视频播放体验。
流媒体应用: 常用于在线视频流媒体服务,如Flash播放器、网络直播等。
互动性: FLV格式通常与Flash技术结合使用,支持视频流的交互式操作。


                        

TS(Transport Stream)


TS是一种用于传输和存储音视频数据的格式,最初用于数字电视、广播和视频流媒体等领域。

特点:

实时传输: TS格式非常适合实时传输和广播环境,具有稳定的传输性能。
抗干扰性: TS格式具有较好的抗干扰性,适用于不稳定网络环境下的传输。
应用领域: 主要应用于数字电视、广播、IPTV等需要实时传输和播放的场景。


                        
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1701440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++初阶】auto关键字

目录 1.auto简介 2.auto的使用 1.auto简介 在早期C/C中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的 是一直没有人去使用它,大家可思考下为什么? C11中,标准委员会赋予了auto全…

深入理解布瑞克(break)逻辑与嵌套循环的奥秘

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:布瑞克逻辑是什么? 二、布瑞克逻辑在嵌套循环中的应用 1.…

高奇琦:从大国协调到全球性机制:人工智能大模型全球治理路径探析

内容提要 人工智能大模型全球治理的关键是对大模型进行科学分类。大模型可以分为超大模型和一般模型。对于超大模型的治理,可以参考核武器治理的思路,重点是实现超大模型的有限发展和不扩散。对于一般模型而言,要在安全可控的基础上发挥其对…

【算法】排序——加更

补充1个排序:希尔排序 思路:首先定义一个gap,从第0个数开始,每隔一个gap取出一个数,将取出来的数进行比较,方法类似插入排序。第二轮从第二个数开始,每隔一个gap取出一个数再进行插入排序。四轮就可以取完…

项目启动 | 晟泰克再度牵手盘古信息,引入IMS V6系统实现数字化深度推进

当前,中国汽车零部件行业的数字化转型正在快速推进,数字化工业软件已经广泛应用于汽车零部件的研发、生产和服务等各个环节,赋能行业实现降本减存,提质增效,有力推动了行业高质量发展。 成立于2003年的合肥晟泰克汽车…

【加密与解密(第四版)】第十八章笔记

第十八章 反跟踪技术 18.1 由BeginDebugged引发的蝴蝶效应 IsDebuggerPresent()函数读取当前进程PEB中的BeginDebugged标志 CheckRemoteDebuggerPresent() 反调试总结:https://bbs.kanxue.com/thread-225740.htm https://www.freebuf.com/articles/others-articl…

【数据结构】红黑树——领略天才的想法

个人主页:东洛的克莱斯韦克-CSDN博客 祝福语:愿你拥抱自由的风 目录 二叉搜索树 AVL树 红黑树概述 性质详解 效率对比 旋转操作 元素操作 代码实现 二叉搜索树 【数据结构】二叉搜索树-CSDN博客 AVL树 【数据结构】AVL树——平衡二叉搜索…

GitHub打不开的解决方案

1、打开https://sites.ipaddress.com/github.com/找到DNS Resource Records,复制github的ip地址,先保存起来: 140.82.112.32、打开https://sites.ipaddress.com/fastly.net/找到DNS Resource Records,复制其中一个ip地址&#xf…

ComfyUI 高级实战:极速稳定视频风格转绘

大家好,我是每天分享AI应用的萤火君! 重绘视频一直是短视频平台上的热点内容,流量不错。重绘视频一般是将真实视频重绘为动漫风格,或者是使用新的人物形象重放视频中的人物动作,再或者只是重绘视频中的部分内容&#…

Android 音视频从入门到提高 -- 任务列表——task1

1.在 Android 平台绘制一张图片&#xff0c;使用至少3种不同的 APl&#xff0c;lmageView&#xff0c;SurfaceView&#xff0c;自定义 Vew 布局xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.a…

通配符证书和多域名证书主要区别以及如何选择

一、通配符证书与多域名证书的主要区别 1.覆盖域名范围 通配符证书可以保护一个主域名及其所有二级子域名&#xff0c;并对该级子域名数量无限制。这种特性使得通配符证书在拥有大量子域名的网站上非常受欢迎&#xff0c;可以大大简化证书管理和维护工作。 多域名证书允许在…

基于ChatGPT+RPA的融资融券业务担保资产风险评价

原载《会计之友》2024年第2期 作者简介 李闻一 男&#xff0c;湖北洪湖人&#xff0c;华中师范大学经济与工商管理学院教授、博士生导师&#xff0c;会计学科带头人&#xff0c;研究方向&#xff1a;财务共享、公司金融、风险管理 黄怡凡 女&#xff0c;湖北公安人&#xf…

2024中青杯数学建模竞赛A题人工智能视域下养老辅助系统的构建思路代码论文分析

2024中青杯数学建模A题论文和代码已完成&#xff0c;代码为A题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解&#xff09;、模型的评价…

Appium系列(2)元素定位工具appium-inspector

背景 如实现移动端自动化&#xff0c;依赖任何工具时&#xff0c;都需要针对于页面中的元素进行识别&#xff0c;通过识别到指定的元素&#xff0c;对元素进行事件操作。 识别元素的工具为appium官网提供的appium-inspector。 appium-inspector下载地址 我这里是mac电脑需要下…

C#子窗体嵌入主窗体

上位机开发中&#xff0c;经常会需要将子窗体嵌入到主窗体。 运行结果 核心实现&#xff1a; private void button2_Click(object sender, EventArgs e){Form3 childForm new Form3();//判断容器中是否已经打开子窗体&#xff0c;如果打开现将其关闭foreach (Control item in…

【C++】Vector的简易模拟与探索

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

并查集详解及实现

看完这篇文章你将会知道&#xff1a; 什么是并查集&#xff1f; 并查集的原理。 并查集的JAVA实现。 并查集这部分内容还是很简单的&#xff0c;相信只要认真学&#xff0c;你正在上小学二年级的表弟都能学得会。(▽ʃ♡ƪ) 目录 一、啥是并查集&#xff1f; 二、并查集的…

什么样的展馆场馆才是科技满满?就差一张智慧场馆大屏

随着科技的飞速发展&#xff0c;传统的场馆展示方式已经无法满足现代人对信息获取和体验的需求。智慧场馆大屏作为一种新型的展示方式&#xff0c;应运而生。它将高清大屏显示技术、智能交互技术、数据分析技术等融为一体&#xff0c;为观众带来更加丰富、生动的展示体验。 一…

跨境热销爆款货源哪里找?选品工具不能少

通常&#xff0c;跨境电商找热销货源的几种方法&#xff1a; 1、使用Google Trends、亚马逊销售排行等来追踪和分析当前的市场趋势和热门产品&#xff1b; 2、关注社交媒体、行业论坛和博客等渠道&#xff0c;以获取最新的市场信息和消费者反馈&#xff1b; 3、在主流的跨境…

python-编写函数判断一个三位数是否为水仙花数。

【问题描述】要求编写函数isflower(n)判断一个三位数n是否为水仙花数,如果是&#xff0c;则返回True&#xff0c;否则返回False。在主程序中要求调用该函数并输出三位数中所有的水仙花数。所谓"水仙花数"是指一个3位数&#xff0c;其各位数字立方和等于该数本身。例如…