ffmpeg 转码及多线程处理

本文介绍了如何下载并使用FFmpeg进行音视频转码,详细讲解了如何添加环境变量,以及如何利用多线程加速转码过程。通过设置`-threads`参数和`-preset`选项实现更快的转码速度。同时,讨论了`-hls_list_size`参数的使用,以确保所有文件指针的完整输出,适合视频流媒体应用。此外,还提到了使用Python进程池进行进一步的性能提升。
部署运行你感兴趣的模型镜像

以下为下载ffmpeg的地址:

Releases · BtbN/FFmpeg-Builds · GitHubContribute to BtbN/FFmpeg-Builds development by creating an account on GitHub.https://github.com/BtbN/FFmpeg-Builds/releases

下载好相应的版本后,解压即可,添加bin至环境变量

(linux环境变量的添加,详见另一篇文章:修改Linux环境变量PATH_MasterD56的博客-优快云博客vim /etc/environment在PATH="/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin"中加入 ":/usr/local/bin" # 所需要添加的路径,前面加 : 分隔生效方法:系统重启有效期限:永久有效用户局限:对所有用户查看环境变量: echo $PATH...https://blog.youkuaiyun.com/MasterD56/article/details/123482715?spm=1001.2014.3001.5501

使用:

"ffmpeg -report -i %s -f hls %s" % (需要转码的文件及路径,转码后的文件及路径)

如:

ffmpeg -report -i /data/aaa.mp4 -f hls /data/aaa/aaa.m3u8

成功!


但是你会发现执行的很慢,不要慌,ffmpeg自带了多线程转码方法

-threads 5 -preset ultrafast

即:

ffmpeg -report -i /data/aaa.mp4 -threads 5 -preset ultrafast -f hls /data/aaa/aaa.m3u8


以上转完之后,m3u8文件里只有最后5个文件指针,适合实时播放,如直播;添加参数,完整输出所有的文件指针

-hls_list_size 0

即:

ffmpeg -report -i /data/aaa.mp4 -threads 5 -preset ultrafast  -hls_list_size 0 -f hls /data/aaa/aaa.m3u8


完事! 飞快!另外可以用python启动进程池,看需求及逻辑,这里就不例举了!

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值