ffmpeg 转码及多线程处理

以下为下载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的博客-CSDN博客vim /etc/environment在PATH="/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin"中加入 ":/usr/local/bin" # 所需要添加的路径,前面加 : 分隔生效方法:系统重启有效期限:永久有效用户局限:对所有用户查看环境变量: echo $PATH...https://blog.csdn.net/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启动进程池,看需求及逻辑,这里就不例举了!

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FFmpeg是一个非常强大的开源音视频处理工具,但的确在对视频进行转码时会有一定的耗时。这主要是由于转码过程需要对视频的每一帧进行解码、重新编码以及处理等操作,因此会消耗较多的时间。 不过,我们可以通过一些方式来提高FFmpeg转码速度。首先,可以考虑调整一些参数来提高性能,比如使用更高的压缩率以及更低的分辨率。这样可以减少转码时间,但也会对视频质量产生一定的影响。 其次,可以利用硬件加速来加快转码速度。FFmpeg支持多种硬件加速技术,比如使用图像处理器(GPU)进行加速。要使用硬件加速,需要确保你的电脑或服务器上有支持的硬件设备,并设置相应的参数。 另外,可以使用多线程处理来提高转码速度。FFmpeg可以通过设置参数来启用多线程,使得转码过程可以同时处理多个帧。这样可以更好地利用计算资源,加快转码速度。 此外,还可以考虑使用其他的转码工具来提高速度。虽然FFmpeg功能强大,但也有一些其他的工具,如Handbrake等,提供了更快速的转码速度。可以尝试使用这些工具来进行转码,以提高效率。 总之,虽然FFmpeg转码速度较慢,但我们可以通过调整参数、利用硬件加速、使用多线程处理以及尝试其他转码工具等方式来提高速度。根据具体的需求和条件,选择合适的方法可以有效地提升转码效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值