本方法全部基于MacOS,以youtube视频为例,全部采用命令行使用,需要一定的代码基础,或者你可以按我写的一步步来,也不需要太多代码知识。
按如下命令安装ffmpeg
将用于视频文件和字幕文件的硬合成(不是外挂字幕,在手机上也能打开),关于ffmpeg是什么,更多教程,请直接Google,不做赘述。
brew install ffmpeg
安装ffmpeg
按如下命令安装yutube-dl
将用于下载youtube视频,全部依赖命令行,可批量下载。关于youtube-dl和更多命令,请参考下方列表或Google。
2. sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
安装youtube-dl
3. sudo chmod a+rx /usr/local/bin/youtube-dl
下载完成,指定其执行权限
youtube-dl的常用命令参数如下:
以下命令可以任意组合,youtube-dl后面直接跟:url
视频地址-o '标题'
本地文件标题url1 url2
多个视频-a url.txt
多个视频-x url
只下载音频-x --audio-format mp3 url
默认opus转为mp3保存--write-sub
字幕--list-formats
-F
列出所有可用音视频格式-f 22/23/24
下载指定的文件-f mp4
下载首选格式--min-filesize 100M
最小100mb以上的文件--max-filesize 100M
最大100mb以上的文件-f best[filesize<100M]
最佳但不大于100mb的文件--date 20190801
特定日期--datebefore 20190801
特定日期之前--dateafter 20190101
特定日期之后--dateafter now-6months
过去六个月内的--dateafter 20180101 --datebefore 20190101
特定时间段的
综上
假如我看中某一个youtube视频想下载下来发抖音,同时又希望youtube的字幕能够保留,那么只需要两个命令行:
下载视频文件和字幕文件
youtube-dl -o 'fresh' --write-sub -f 'best[filesize<100M]' url
先后各参数含义为:命名文件标题;包含字幕;100MB以内的最佳视频文件;youtube视频文件地址使用ffmpeg烧出带硬字幕的mp4视频
ffmpeg -i fresh -vf subtitles=fresh.zh.vtt fresh.mp4
各参数含义为:输入文件名为fresh的文件;设置字幕文件;设置输出文件和后缀
感谢伟大的互联网极客们,have fun~