获取视频的分辨率
|
|
ffprobe是通过homebrew安装的,它会输出视频的分辨率。
将视频转化成音频
yt-dlp:视频下载
- 它是通过python的pip工具进行安装。官网:https://github.com/yt-dlp/yt-dlp,关于options可以看介绍,以及在python中如何配置参数,可以看:https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/options.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17import yt_dlp url = "***"# 指定要下载的url,如果是一个合集的url,在下载的时候没有指定某一集,会下载所有的集数 ydl_opts = { 'playlist_items': '14',#指定下载某一集,也可以指定下载范围,只有url为合集的时候才起作用 'cookiefile': 'cookies.txt',#指定cookie文件,一般google浏览器通过安装get cookies.txt插件,方便下载会员视频 'outtmpl': '要下载的父文件夹/%(playlist_index)02d - %(title)s.%(ext)s',#指定下载的路径和名字 'format': 'bestvideo+bestaudio/best',#指定下载的视频分辨率和音频的采样率,这里如果音频和视频分开的,可以只下载音频或视频 'concurrent_fragment_downloads': 8,#指定单集下载的线程个数 'ignoreerrors': True,#是否忽略下载失败后继续下载 'merge_output_format': 'mp4',#指定音频和视频合并后的视频类型 } with yt_dlp.YoutubeDL(ydl_opts) as ydl: ydl.download([url]) - yt-dlp -F url:可以查看资源支持哪些格式,有些视频不支持视频和音频分开。
水印处理(Python+OpenCV)
|
|
执行上面的python后,接着会弹出交互式界面,此时选中水印,然后就会输出坐标信息:
|
|
接着我们执行该ffmpeg命令就行,会输出不带水印的视频。
视频提取原声/BGM/去掉人声等
首先需要安装demucs的虚拟环境,安装虚拟环境需要用到pyenv,首先安装pyenv:
|
|
然后录配置pyenv的path路径,在zshrc或bash中配置:
|
|
然后同步下配置:source ~/.zshrc。 然后安装虚拟环境的python版本:
|
|
接着需要安装pyenv-virtualenv用于指定虚拟环境的名字:
|
|
然后给pyenv-virtualenv添加上环境变量:
|
|
接着指定虚拟环境的名字和激活虚拟环境:
|
|
此时就激活了虚拟环境demucs-env,此时在命令行中能看到虚拟环境的名字,如果要断开虚拟环境使用:pyenv deactivate demucs-env。 接着要装相关的依赖组件,分别是:
|
|
此时还需要ffmpeg,这个可以通过brew install ffmpeg进行安装。所有安装完成后,最后同步下命令:hash -r。这样python的虚拟环境就安装完成了。
此时可以通过python3 video_audio_example.py 2去执行各种功能。功能都在两个python事例文件和python功能文件中。
常用demucs的命令:
|
|
此时会分离出音频的人声和bgm。