如何从YouTube上爬取1080p视频

因2019新冠病毒不得不宅在家和WFH,故迫切需要每天保持一定的运动。本文将以爬取YouTube上排名第一的有氧燃脂操的1080p视频为例,介绍如何从YouTube上爬取(不含声音的)1080p视频并予以音频合成的过程。由于各大视频网站给出的对应视频不是高清版本,因此不适合放到高清电视上播放;反正闲着也是闲着,于是花了半天时间研究了一把并总结如下。有兴趣的同学不妨一试。

1 - 前期准备

  • 安装Ubuntu16.04.5Desktop
  • 在Ubuntu桌面上安装软件包mencoderffmpeg

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 mp3> -vcodec copy -acodec copy <dst mp4>
e.g. $ ffmpeg -i src1080p.mp4 -i foo360p.mp3 -vcodec copy -acodec copy dst1080p.mp4

>>> 合成的HD视频文件为dst1080p.mp4

2.2和2.3可用如下脚本实现(foo.sh):

 1 #!/bin/bash
 2 #
 3 # 1. mencoder -oac mp3lame -ovc copy -of rawaudio <src mp4> -o <dst mp3>
 4 # 2. ffmpeg -i <src mp4> -i <src mp3> -vcodec copy -acodec copy <dst mp4>
 5 #
 6 src_mp4_360p=${1?"**** input1: 360p  mp4 with audio"}
 7 src_mp4_1080p=${2?"*** input2: 1080p mp4 without audio"}
 8 dst_mp4_1080p=${3?"*** output: 1080p mp4 with audio"}
 9 
10 mid_mp3=$(echo $src_mp4_360p | sed 's/mp4/mp3/')
11 mencoder -oac mp3lame -ovc copy -of rawaudio $src_mp4_360p -o $mid_mp3
12 ffmpeg -i $src_mp4_1080p -i $mid_mp3 -vcodec copy -acodec copy $dst_mp4_1080p

到此为止,爬取1080p视频的任务就胜利完成了!该视频已上传到我的百度网盘,有兴趣的同学请自行提取。Have fun:-)

链接: https://pan.baidu.com/s/1Bh_MkzJgE2V2m85Z1THziw 
提取码: igr6 

参考资料:

  1. 如何下载搬运youtube视频
  2. ubuntu18.10下面从视频中提取音频
  3. Ubuntu使用ffmpeg切割视频
  4. SaveFrom.net helper all-in-1 / youtube downloader
posted @ 2020-02-17 13:55  veli  阅读(3669)  评论(0编辑  收藏  举报