python⾃动视频剪辑_⾃动剪辑视频神器(适合⾃动剪Vlog、
视频教程等)
这是⼀个 python 写的⼩⼯具,我下载 jumpcutter 下后,修补了⼀些 bug,并加⼊了⾃动转字幕和⾃动剪辑的功能,成了现在的版本。
不过我也是不专业程序员,⽬前也没时间学 Github,也懒得写英⽂ Readme 了,代码也简单,就发到这⾥,看下有没有志愿者,能把这个程序发到 Github,进⾏维护。
legacy是什么意思中文
上⾯的 zip 下载链接在 V2EX 可能下不了,可以到 我在 Hacpai 的源帖⼦中 点击下载
为了更⽅便理解这个⼯具,我录制了⼀个使⽤教程,并将这个教程视频进⾏了⾃动剪辑,⾃动剪辑前后的两个版本放到这⾥,供对⽐下:
上⾯的 mp4 演⽰视频在 V2EX 可能看不了,可以到 我在 Hacpai 的源帖⼦中 查看
因为使⽤的笔记本⾃带的麦克风收⾳,录⾳时风扇⼜在⼤转,所以会有些杂⾳,请见谅。
这个教程的两个版本,⼀个是经过了本⼯具剪辑后的效果,⼀个是原始视频。经过⾃动剪辑后,视频更精炼,表达更好。
建议上⾯两个视频对⽐看⼀下,就能理解该⼯具有多强⼤。
我能想到最好的⽤处就是,对于程序员,可能
想通过视频给⾃⼰的项⽬、创意⼀个好的介绍
⾃⼰语⾔能⼒不⼤⾏,上镜后,录出的视频有许多不满意的⽚段
mysql中国不⼤会、也不想剪视频
就可以⽤这个⼯具,粗糙、肆意、随便地录制⼀个教程视频后,⽤该⼯具处理⼀下,仅需⼀条命令,就能⽣成⼀个信息量⾼、精炼的视频教程。
中⽂帮助
简介
JumpCutter 是⼀个 python 脚本。
它可以对视频中 有声⾳ 和 没声⾳ 的部分施以 不同的播放速度。
javascript:logout
原作者是 karykh,但是有⼀些 bug 。 Github_jumpcutter
本版本修补了各个已知 bug,加⼊了:
使⽤阿⾥云、腾讯云 API ⾃动转 srt 字幕
根据字幕⾃动剪辑
它现在可以根据 srt 字幕⽂件 中的关键词 ⾃动剪辑(也就是 删除 和 保留 ) 视频⽚段。
只有当有 srt 输⼊⽂件的时候,才会做⾃动剪辑。
阿⾥云 API 前 3 个⽉免费每天 2 ⼩时,之后,按 2.5 元 /⼩时收费。
下⾯是选项的帮助:
--input_file inputFILE 指定⼀个输⼊的视频⽂件
--url URL 如果要处理的输⼊⽂件是⼀个 YouTube 在线视频,就⽤这个选项,输⼊ URL
--input_subtitle SUBTITLE 如果要依据字幕来⾃动剪辑,就输⼊字幕⽂件路径,要求 srt 字幕
--cut_keyword 字幕中的关键字,这是切除⽚段的关键词。默认是“咔嚓”
-
-save_keyword 字幕中的关键字,这是保留⽚段的关键词。默认是“保留”
--output_file 输出视频⽂件路径,可选,如果没有选这个,会有默认⾃动的输出⽂件名
--silent_threshold 静⾳阈值,低于多少的⾳量可以被认为是静⾳(取值在 0 - 1 之间,是相对于整个⾳频中的最⼤⾳量的相对值,不是绝对值。)
--sounded_speed 有声⾳部分的速度,默认是 1.00
--silent_speed 没有声⾳部分的速度,默认是 5.00
--frame_margin 加速留⽩。就是在静⾳区间两端留⼏帧,不要加速,防⽌⾳频没有停顿。默认是 1 帧
--sample_rate ⾳频采样率,默认是 44100,⽬前程序不⽀持⾃动获得采样率,如果你的采样率不是这个值,需要⼿动填写
--frame_rate 视频帧速,默认 30,⼀般会⾃动识别,不⽤管。如果帧速出了问题,再来这⾥调节
--frame_quality 帧质量。处理时,会先把视频中的每⼀帧提取出来,保存到 jpg 格式的图⽚,这个选项决定了保存图⽚的质量。取值在 1 - 31 之间,1 代表质量最⾼,31 代表质量最差。默认是 3
-
-online_subtitle 是否要使⽤在线云服务转字幕,可选项有:1, 0 。默认是 0,也就是否
--subtitle_language 选择在线识别字幕的语⾔。可选项有:"Chinese", "English"。默认是 "Chinese"
--cloud_engine ⽤哪个语⾳识别引擎。可选项有:"Alibaba"、"Tencent"。默认是"Alibaba"
--delete_cloud_file 识别完成后,是否删除保存在云端的⾳频⽂件。可⾏项有:True, False 。默认是 True
安装
脚本嘛,直接 copy 下来,装上 FFmpeg 、python 、需要的库
⼀条使命装需要的库:
pip install -## 使⽤
查看帮助:
⽰例 1:
仅把视频静⾳⽚段加速,所有参数为默认值,输出⽂件为"我的 vlog_new.mp4"
python jumpcutter.py --input_file "我的 vlog.mp4"
⽰例 2:
仅把视频静⾳⽚段加速,⼿动设置参数
python jumpcutter.py --input_file "视频.mkv" --silent_speed 99 --sounded_speed 1 --frame_margin 2 --silent_threshold 0.025 --output_file "视频.mp4"
⽰例 3:
把视频静⾳⽚段加速,⼿动设置参数,并⾃动转字幕,利⽤字幕中的关键词⾃动剪辑
python jumpcutter.py --input_file "视频.mkv" --online_subtitle 1 --subtitle_language "Chinese" --cloud_engine "Alibaba" --delete_cloud_file True --cut_keyword "删除" --save_keyword "保留" --silent_speed 8 --sounded_speed 1 --frame_margin 2 --silent_threshold 0.025 --output_file "D:\视频_剪辑后.mp4"
⽰例 4:
把视频静⾳⽚段加速,⼿动设置参数,并⾃动转字幕,利⽤字幕中的关键词⾃动剪辑。这是在 Windows cmd 窗⼝,加了换⾏符,更好看点
python jumpcutter.py ^
--input_file "视频.mkv" ^
--online_subtitle 1 ^
--subtitle_language "Chinese" ^
--cloud_engine "Alibaba" ^
--delete_cloud_file True ^
--cut_keyword "删掉" ^
--save_keyword "保留" ^
--silent_speed 8 ^
--sounded_speed 1 ^
--frame_margin 2 ^
--silent_threshold 0.025 ^最新源码资源网
--output_file "D:\视频_剪辑后.mp4"
视频转字幕引擎配置
打开 moduels ⽂件夹,打开 CloudEngine.ini ⽂件,按⾥⾯说的填好 api 相关信息。
毕竟,你不填好 api,怎么⽤阿⾥云 /腾讯云的语⾳识别服务呢,对吧?
; 在这⾥存放云引擎的参数
; oss 管理控制台⽤于管理 bucket,bucket 就是你的云⽂件存放的地⽅,我们要先将⾳频⽂件上传到这个云空间,才能识别。所以你需要在阿⾥云开发者控制台开通 oss 管理控制台服务,再在控制台中新建⼀个 bucket 。新建好之后,将这个 bucket 的权限设为“公共
读”(只有将权限设为“公共读”,你的“智能语⾳交互”服务才能访问这⾥⾯的录⾳⽂件),记下它的:外⽹访问 EndPoint 、bucket 名字
;
power的词性转换 再在控制台搜索“智能语⾳交互”,开通服务后,新建两个项⽬,⼀个识别语⾔为中⽂,⼀个为英⽂,⾳频采样率为 16k,保存。记下这两个项⽬的:appkey
; 上⾯两个服务弄好后,还⽤不了,因为我们没权限!所以我们要开通在主账号下开通⼀个能操控这两个服务的⽤户,搜索“RAM 访问控制”,开通服务,在控制⾯板,创建⼀个⽤户,记下它的:“AccessKey ID”、“AccessKey Secret”,并给这个⽤户添加以下两个权限:“管理对象存储服务( OSS )权限”、“管理智能语⾳交互( NLS )的权限”
[Alibaba RAM Access Control User]
; 这⾥存放阿⾥巴巴 RAM 访问控制中有权限的⽤户密钥
yourAccessKeyId = xxxxxxxxxxxxxxxxxxxxxxx
yourAccessKeySecret = xxxxxxxxxxxxxxxxxxxxxx
[Alibaba Cloud OSS]
; 这⾥存放阿⾥巴巴 oss 智能对象的设置
yourEndpointDomain = xxxxxxxxxxxxxxxxxxxxxxxx
yourBucketName = xxxxxxxxxxxxxxxxxxxxxxx
[Alibaba Cloud Chinese Transcribe Engine]
; 中⽂项⽬的 appKey
appKeyForChinese = xxxxxxxxxxxxxxxxxxxxxx
[Alibaba Cloud English Transcribe Engine]
; 英⽂项⽬的 appKey
appKeyForEnglish = xxxxxxxxxxxxxxxxxxxxxxxxx [Tencent Cloud Sub User]
; 这⾥存腾讯有权限的⼦⽤户密钥
yourSecretId = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx yourSecretKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx [Tencent Cloud OSS]
; 这⾥存放腾讯 oss 智能对象的设置
yourBucketName = audio-recognition-xxxxxxxxxxx yourBucketRegion = ap-xxxxxxxx
python入门教程视屏
yourEndPoint = qcloud

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。