文档章节

如何最快地批量执行音视频转码

鼎铭
 鼎铭
发布于 07/10 16:13
字数 400
阅读 524
收藏 7
点赞 0
评论 3

    为什么要有这个需求?我们知道,单纯的转format ,不转codec ,其实仅仅是io 操作,这个操作是很快的,但是一旦需要decodec & encodec ,这个操作是非常耗时,耗cpu的,因为这个地方有解压缩和压缩的操作。如果批量任务需要转码,而且是同时转码成不同的格式,这里,我们希望能一次decodec 多次encodec 就好,相当于节省了decodec 的时间。

    思路有了,其实做起来,整个过程就简单多了,首先分离音视频流;然后转码视频成yuv ,转码音频;最后将音视频按模板进行合成。

    下面实际文件举例:    

1,解码视频 ffmpeg -i input.flv out.yuv

2,分离音频 ffmpeg -i input.flv -acodec copy out.aac

3.1, 转码视频并合成音频流 码率500k ffmpeg -s 1280x720 -i out.yuv -i out.aac -vcodec h264 -b 500k out.flv
3.2, 转码视频并合成音频流 码率1000k ffmpeg -s 1280x720 -i out.yuv -i out.aac -vcodec h264 -b 1000k out.flv

    多模板转码,主要是在步骤3上,3可以重复使用,最后删去中间的yuv 文件即可。然后转码得提前知道yuv 的分辨率,可以使用ffprobe ,不然转码会失败。

© 著作权归作者所有

共有 人打赏支持
鼎铭
粉丝 22
博文 66
码字总数 39418
作品 0
东城
程序员
加载中

评论(3)

Feng_Yu
Feng_Yu

引用来自“鼎铭”的评论

你的意思我明白,我的业务背景是有一批视频文件,每个视频文件同时按不同模版转码成几份分辨率码率不同的文件。
哦,那这样的话我觉得其实你没必要分离了,直接-c:a copy处理音频就行了。目前flv视频基本都是h.264+aac的音频,没必要再次转码了
鼎铭
鼎铭
你的意思我明白,我的业务背景是有一批视频文件,每个视频文件同时按不同模版转码成几份分辨率码率不同的文件。
Feng_Yu
Feng_Yu
你这完全是自作聪明的做法,曾经我也这么干过,后来发现简直多此一举。曾经我的做法比你还高级点,用了ffmpeg做分离器,管道喂给第三方音视频编码器分别编码音频和视频,再用ffmpeg的demux功能进行混流。后来发现完全没必要这么干,第三方编码器不见得比ffmpeg内置的lib效果好多少,所以直接用ffmpeg自带的libx264+libfdk_aac进行编码,最终混流成mp4或者flv,这样性能更高。你本身就是直接同时转码音频和视频,不分离,直接用ffmpeg的音视频编码参数更快,还不用混流
郭卓惺:互动课堂的搭建实例及相关领域应用

本文来自腾讯云技术沙龙,本次沙龙主题为在线教育个性化教学技术实践 演讲嘉宾:郭卓惺 | 腾讯视频云终端技术中心 随着在线教育覆盖面的增加,互动课堂授课方式正在向多样化发展,为了适应新...

云加社区
07/02
0
0
Twitch如何实现转码比FFmpeg性能提升65%?(下)

文 / Jeff Gong, Sahil Dhanju, Chih-Chiang Lu, Yueshi Shen 编者按:超过220万创作者在Twitch发布海量的视频,这对实时转码业务造成了巨大压力,Twitch团队通过优化多线程的转码服务以及I...

livevideostack
2017/12/13
0
0
mysql 连接出错 'mysqladmin flush-hosts'

mysql 连接出错 'mysqladmin flush-hosts' 环境说明: 内网测试服务器192.168.18.251 为WEB服务器,安装了mysql; 内网音视频转码服务器192.168.18.253安装了转码工具,其上/www/attachment挂...

ShuaiDing
2014/09/12
0
0
媒体转码,你不得不知道的一些事

摘要: 阿里云媒体转码(Media Transcoding) 是为多媒体数据提供的转码计算服务。它以经济、易用、弹性和高可扩展的音视频转换方法,帮助您将存储于OSS的音视频转码成适合在PC、TV以及移动终...

音染
2017/07/04
70
0
七牛云音视频新功能:音频支持 AAC_HE

与大家所熟知的 MP3 一样, AAC 也是一种常见的音频格式。现如今常见的 AAC 规格有三种: LC-AAC (最基本的), HE-AAC ( AACPlus v1 ), HE-AAC v2 。 HE :“ High Efficiency ”(高效...

七仙女很忙
2016/02/29
0
0
直播技术:秒级完成1小时直播课程转录播,有效提升在线教育用户体验

如果说 2017 年是在线教育的发力期,那 2018 年肯定就是在线教育发展的黄金时期。艾瑞咨询预计 2018 年中国在线教育体量将达到 2517.6 亿。 随着在线教育行业的发展, K12、英语教育、早教等...

又拍云
03/26
0
0
轻松入门腾讯云存储系列一:对象存储COS的基本功能详解

欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 腾讯云是全球领先的云计算服务商之一,将腾讯集团在QQ、微信、QQ空间等业务中积累的海量互联网服务能力,开放给各行各业,并不断输出...

云加社区
2017/12/18
0
0
武海滨:沪江如何搭建优秀的在线教育平台

3月31日,ZEGO Meetup 视频直播+的技术实践之道第三期在上海成功举办,现场吸引了满堂的音视频开发人员到场聆听。会上,如预期一样,么么直播前端团队负责人黄铭新、即构科技资深技术专家和架...

zego_0616
04/19
0
0
“音”你而来,“视”而可见 腾讯云+社区音视频技术开发实战沙龙圆满结束

近年来,得益于移动互联网的普及和智能终端设备的广泛应用,短视频、直播、在线教学等音视频通信模式风靡大众,音视频功能为用户带来沟通便捷的同时,也启发了应用平台基于音视频功能开拓业务...

腾讯云加社区
04/25
0
0
OSS对象存储

OSS对象存储 一、产品概述 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供...

baishuchao
2017/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell中的函数、shell中的数组、告警系统需求分析

shell中的函数 格式: 格式: function f_name() { command } 函数必须要放在最前面 示例1(用来打印参数) 示例2(用于定义加法) 示例3(用于显示IP) shell中的数组 shell中的数组1 定义数...

Zhouliang6
今天
2
0
用 Scikit-Learn 和 Pandas 学习线性回归

      对于想深入了解线性回归的童鞋,这里给出一个完整的例子,详细学完这个例子,对用scikit-learn来运行线性回归,评估模型不会有什么问题了。 1. 获取数据,定义问题     没有...

wangxuwei
今天
1
0
MAC安装MAVEN

一:下载maven压缩包(Zip或tar可选),解压压缩包 二:打开终端输入:vim ~/.bash_profile(如果找不到该文件新建一个:touch ./bash_profile) 三:输入i 四:输入maven环境变量配置 MAVEN_HO...

WALK_MAN
今天
0
0
33.iptables备份与恢复 firewalld的9个zone以及操作 service的操作

10.19 iptables规则备份和恢复 10.20 firewalld的9个zone 10.21 firewalld关于zone的操作 10.22 firewalld关于service的操作 10.19 iptables规则备份和恢复: ~1. 保存和备份iptables规则 ~2...

王鑫linux
今天
2
0
大数据教程(2.11):keeperalived+nginx高可用集群搭建教程

上一章节博主为大家介绍了目前大型互联网项目的系统架构体系,相信大家应该注意到其中很重要的一块知识nginx技术,在本节博主将为大家分享nginx的相关技术以及配置过程。 一、nginx相关概念 ...

em_aaron
今天
1
0
Apache Directory Studio连接Weblogic内置LDAP

OBIEE默认使用Weblogic内置LDAP管理用户及组。 要整理已存在的用户及组,此前办法是导出安全数据,文本编辑器打开认证文件,使用正则表达式获取用户及组的信息。 后来想到直接用Apache Dire...

wffger
今天
2
0
HFS

FS,它是一种上传文件的软件。 专为个人用户所设计的 HTTP 档案系统 - Http File Server,如果您觉得架设 FTP Server 太麻烦,那么这个软件可以提供您更方便的档案传输系统,下载后无须安装,...

garkey
今天
1
0
Java IO类库之BufferedInputStream

一、BufferedInputStream介绍 /** * A <code>BufferedInputStream</code> adds * functionality to another input stream-namely, * the ability to buffer the input and to * sup......

老韭菜
今天
0
0
STM 32 窗口看门狗

http://bbs.elecfans.com/jishu_805708_1_1.html https://blog.csdn.net/a1985831055/article/details/77404131...

whoisliang
昨天
1
0
Dubbo解析(六)-服务调用

当dubbo消费方和提供方都发布和引用完成后,第四步就是消费方调用提供方。 还是以dubbo的DemoService举例 -- 提供方<dubbo:application name="demo-provider"/><dubbo:registry address="z...

青离
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部