文档章节

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

鼎铭
 鼎铭
发布于 07/10 16:13
字数 400
阅读 611
收藏 8

    为什么要有这个需求?我们知道,单纯的转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 ,不然转码会失败。

© 著作权归作者所有

共有 人打赏支持
鼎铭
粉丝 28
博文 67
码字总数 40583
作品 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

没有更多内容

加载失败,请刷新页面

加载更多

在Debian 9系统上安装Mysql数据库的方法教程

前言 看到题目大家应都会想,在 Debian 9 上安装 Mysql?那不是很简单的事儿吗?直接 sudo apt install mysql-server 不就行了吗? 没想到遇到了几个之前没遇到的问题,耽误了不少时间。 原来...

临江仙卜算子
57分钟前
4
1
从web实时通信讲H5 WebSocket

通常我们打开一个浏览器访问网页时,都会向页面所在的服务器发送一个HTTP请求,然后web服务器确认请求并向浏览器做出响应。简单的说,就是一个请求对应的一个响应。然而这种方法对许多的应用...

Code辉
今天
4
0
Sharding-Sphere自动化执行引擎

Q: 什么叫"自动化执行引擎"? A: 一条SQL的生命周期是:从客户端发起、经过Sharding-Sphere处理、再到底层数据库执行消化。而在Sharding-Sphere里过程则是:SQL解析-->SQL优化-->SQL路由-->...

xiaomin0322
今天
2
0
单模块中ReentrantLock的使用

背景 在单模块应用中,对同一个请求,需要进行同步。注意ReentrantLock的使用场景: 同一个线程中 同一个请求 RestController @RestControllerpublic class Controller {private final Re...

亚林瓜子
今天
2
0
Linux 4.1内核热补丁成功实践

好久不见的干货重现江湖!今日的内容是基于UCloud运维同学反馈的个别宿主机上存在进程CPU峰值使用率异常现象问题进行的相关阐述。本文详细介绍了该问题的完整分析思路和用热补丁的方式成功解...

UCloudTech
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部