ffmpeg cuda加速 h264->hevc(h265) 缩小存储空间

参考的原文链接 https://www.cnblogs.com/Hakurei-Reimu-Zh/p/14999269.html

1.安装cuda

这里我只安装最新版驱动也是可以的没有刻意去安装cuda

2.下载编译好的全版本ffmpeg

https://www.gyan.dev/ffmpeg/builds/

3.查询支持的编解码器类型

ffmpeg -codecs | findstr cuvid
这里我需要的是 hevc_nvenc

下面是我写的脚本用于转换的

import os
from functools import wraps, partial
#扫描装饰器
def scan(func=None, *, path=None):
if func is None:
return partial(scan, path=path)
@wraps(func)
def wrapper(path):
ls_dir = os.listdir(path)
for file_name in ls_dir:
file_path = os.path.join(path,file_name)
if os.path.isfile(file_path):
func(file_path)
elif os.path.isdir(file_path):
wrapper(file_path)
return wrapper
def run(src,dst):
print(src,dst)
cmd = f'ffmpeg -i "{src}" -vcodec hevc_nvenc "{dst}"'
os.system(cmd)
@scan
def main(path):
if "hevc_nvenc" not in path and path.endswith(".mp4"):#这里的mp4可以修改为你想要的视频后缀名,已经转过得结果不转
basename = os.path.basename(path)
dirname = os.path.dirname(path)
fname,ext = os.path.splitext(basename)
newname = fname+"hevc_nvenc.mp4"
newpath = os.path.join(dirname,newname)
if not os.path.exists(newpath):#已经转过跳过
run(path,newpath)
main(rf"/mnt/sdb1/")
posted @   simp00  阅读(624)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示