文档章节

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

鼎铭
 鼎铭
发布于 07/10 16:13
字数 400
阅读 663
收藏 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 ,不然转码会失败。

© 著作权归作者所有

共有 人打赏支持
鼎铭
粉丝 47
博文 68
码字总数 42624
作品 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的音视频编码参数更快,还不用混流
2018 音视频技术沙龙·北京站丨又拍云 Open Talk NO.43

一、活动介绍 随着移动互联网的普及,短视频、在线教育、 在线狼人杀、直播竞答等各类形式的音视频形式的应用越来越广泛,技术的不断升级正在提升应用的体验。本期又拍云 Open Talk ,将会结...

又拍云
07/12
0
0
郭卓惺:互动课堂的搭建实例及相关领域应用

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

云加社区
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
媒体转码,你不得不知道的一些事

摘要: 阿里云媒体转码(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

没有更多内容

加载失败,请刷新页面

加载更多

不用编写程序代码,送你一个爬虫程序批量采集猫眼电影票房数据

"大数据"是一个体量特别大,数据类别特别大的数据集,并且这样的数据集无法用传统数据库工具对其内容进行抓取、管理和处理。 "大数据"首先是指数据体量(volumes)大,指代大型数据集,一般在1...

技术阿飞
19分钟前
0
0
【Flutter教程】从零构建电商应用(一)

在这个系列中,我们将学习如何使用google的移动开发框架flutter创建一个电商应用。本文是flutter框架系列教程的第一部分,将学习如何安装Flutter开发环境并创建第一个Flutter应用,并学习Flu...

笔阁
40分钟前
5
0
什么是以太坊DAO?(三)

Decentralized Autonomous Organization,简称DAO,以太坊中重要的概念。一般翻译为去中心化的自治组织。 投票支付合约的所有费用和行动需要时间,并要求用户始终保持活跃,知情和专注。另一...

geek12345
42分钟前
2
0
一个本科学生对Linux的认知

一个本科学生对Linux的认知 我是一名大三的普通一本大学的软件工程的一名学生,学校开设了一些关于系统开发的课程,纸上得来终觉浅,学校的课程课时较短,想要在56个课时之内学会一些公司需要...

linuxCool
今天
3
0
CentOS 安装Tomcat

Tomcat 介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 Java 程序写的网站用tomcat+jdk来运...

野雪球
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部