前言: 因2019新冠病毒不得不宅在家和WFH,故迫切需要每天保持一定的运动。本文将以爬取YouTube上排名第一的有氧燃脂操的1080p视频为例,介绍如何从YouTube上爬取(不含声音的)1080p视频并予以音频合成的过程。由于各大视频网站给出的对应视频不是高清版本,因此不适合放到高清电视上播放;反正闲着也是闲着,于是花了半天时间研究了一把并总结如下。有兴趣的同学不妨一试。
1 - 前期准备
- 安装Ubuntu16.04.5Desktop
- 在Ubuntu桌面上安装软件包mencoder和ffmpeg
2 - 爬取步骤
2.1 - 下载包含了音频的360P视频和不包含音频的1080P视频
- [1] 连接VPN
- [2] 登录www.youtube.com, 找到视频"30 Min Fat Burning Cardio Workout - Bipasha Basu Unleash 'Full Routine' - Full Body Workout"的链接如下:
https://www.youtube.com/watch?v=LUrrN6cEBRQ
- [3] 打开网站https://zh.savefrom.net/,粘贴视频[2]中找到的视频链接
- [4] 等待页面下载链接分析完成,如失败,请打开视频播放后再重试; 分析完成后的页面截屏如下:
从下载按钮后面我们可以看到,720p和360p的视频格式为MP4, 包含了音频;但是,1080p的MP4视频中不包含音频,这就是我们要做1080p视频后期制作(i.e. 视频/音频合成)的根本原因。
- [5] 选择360p的MP4在新的Tab页中打开,等打开完成后,点右键选择"Save Video As..."将视频另存为foo360p.mp4
说明:之所以下载360p的MP4, 是因为其文件大小比720p的MP4小很多,而且我们只需要爬取其音频!
- [6] 选择1080p的MP4在新的Tab页中打开,等打开完成后,点右键选择"Save Video As..."将视频另存为src1080p.mp4
2.2 - 从360P视频文件中提取音频
$ mencoder -oac mp3lame -ovc copy -of rawaudio <src mp4> -o <dst mp3>
e.g.
$ mencoder -oac mp3lame -ovc copy -of rawaudio foo360p.mp4 -o foo360p.mp3
>>> 提取的音频文件为foo360p.mp3
2.3 - 合成1080P视频
$ ffmpeg -i <src mp4> -i <src mp4> -vcodec copy -acodec copy <dst mp4>
e.g. $ ffmpeg -i src1080p.mp4 -i foo360p.mp3 -vcodec copy -acodec copy dst1080p.mp4
>>> 合成的HD视频文件为dst1080p.mp4
到此为止,爬取1080p视频的任务就胜利完成了!Have fun:-) 该视频已经上传到我的百度网盘,有兴趣的同学请自己提取。
链接: https://pan.baidu.com/s/1fMmXMNuJqJ8Vbci76dtEgA 提取码: jh42
参考资料: