2018年7月

introduce

在全球最大的不存在视频网站y2b上有很多高质量优秀的视频,有时候想保存下来或者网速太慢不想等待缓冲,就可以考虑下载下来。
推荐一款工具 youtube-dl,功能强大,想要的全都有。mac下安装:

brew install youtube-dl

因为不存在,所以需要代理才能正常使用,好在它原生提供了设置代理的方法,只需每次在命令后加上参数 --proxy socks5://127.0.0.1:1080,下面都会默认已经带上了此参数。

usage

举个栗子,先找到一个福利4K视频用来测试 https://www.youtube.com/watch?v=6JAum58P6hk

  • 首先需要列出视频可用的所有音视频格式。
youtube-dl -F https://www.youtube.com/watch?v=6JAum58P6hk

执行后会显示一个格式清单,如下

[youtube] 6JAum58P6hk: Downloading webpage
[youtube] 6JAum58P6hk: Downloading video info webpage
[youtube] 6JAum58P6hk: Extracting video information
[youtube] 6JAum58P6hk: Downloading js player vflzCRPJh
[info] Available formats for 6JAum58P6hk:
format code  extension  resolution note
249          webm       audio only DASH audio   52k , opus @ 50k, 1.36MiB
250          webm       audio only DASH audio   65k , opus @ 70k, 1.72MiB
171          webm       audio only DASH audio  104k , vorbis@128k, 2.94MiB
251          webm       audio only DASH audio  115k , opus @160k, 3.09MiB
140          m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2@128k, 3.74MiB
278          webm       256x144    144p  106k , webm container, vp9, 30fps, video only, 2.89MiB
160          mp4        256x144    144p  114k , avc1.4d400c, 30fps, video only, 3.20MiB
242          webm       426x240    240p  239k , vp9, 30fps, video only, 6.56MiB
133          mp4        426x240    240p  249k , avc1.4d4015, 30fps, video only, 7.01MiB
243          webm       640x360    360p  473k , vp9, 30fps, video only, 12.44MiB
134          mp4        640x360    360p  642k , avc1.4d401e, 30fps, video only, 18.16MiB
244          webm       854x480    480p  813k , vp9, 30fps, video only, 22.22MiB
135          mp4        854x480    480p 1193k , avc1.4d401f, 30fps, video only, 33.56MiB
247          webm       1280x720   720p 1646k , vp9, 30fps, video only, 44.80MiB
136          mp4        1280x720   720p 2380k , avc1.4d401f, 30fps, video only, 67.10MiB
248          webm       1920x1080  1080p 2947k , vp9, 30fps, video only, 79.12MiB
137          mp4        1920x1080  1080p 4396k , avc1.640028, 30fps, video only, 125.62MiB
271          webm       2560x1440  1440p 8916k , vp9, 30fps, video only, 257.61MiB
313          webm       3840x2160  2160p 17698k , vp9, 30fps, video only, 515.88MiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
43           webm       640x360    medium , vp8.0, vorbis@128k
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k
22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)
  • 如果对视频质量没有太高要求,直接下载 best 也就是 format code = 22 的视频就好了。
youtube-dl -f 22 https://www.youtube.com/watch?v=6JAum58P6hk 或者
youtube-dl -f best https://www.youtube.com/watch?v=6JAum58P6hk

如果是音乐类的,也可以选择只下载音频,指定对应的 format code 就可以了

youtube-dl -f 140 https://www.youtube.com/watch?v=6JAum58P6hk 或者
youtube-dl -f bestaudio https://www.youtube.com/watch?v=6JAum58P6hk
  • 接下来就是进阶了,如果看到这里说明对品质很有追求。就是要下4K的,怎么办?没问题
youtube-dl -f bestvideo+bestaudio https://www.youtube.com/watch?v=6JAum58P6hk

这样下载的音视频就全都是最好的,不过因为视频用了 vp9 编码,所以最后会调用 ffmpeg 封装成 mkv 格式。
也可以强行指定用 mp4 进行封装,加上参数 --merge-output-format mp4。不过这样兼容性就不太好了。最擅长播放 mp4 的 quicktime 直接报错。不过 mpv 毫无压力,为 mpv 打call。

end

根据官方文档,从 2015.04.26 版本开始,-f bestvideo+bestaudio/best 已经是默认的首选格式了。这意味着你不带任何参数,就会自动下载最高品质的视频。优秀~

youtube-dl https://www.youtube.com/watch?v=6JAum58P6hk

board

introduce

前几天按照官方教程把树莓派3b从 jessie 升级到 stretch 的时候不幸成砖,升完一堆报错,重启后就再也无法启动了。反正数据还在 sd 卡里,备份好资料干脆抹盘重装吧。于是就有了这篇安装指南,这是你没有看过的船新版本。迄今为止无需任何外设初始化树莓派的最佳实践(当然 sd 卡和充电器还是需要的(@_@))。

steps

aria2c https://downloads.raspberrypi.org/raspbian_latest
  • 把镜像写入到 sd 卡,我是直接用读卡器插到 macbook 上。(什么?你用的新款 mac 没有读卡器?你用的 windows10 怎么办?请点右上角叉叉)理论上其它 linux 发行版也可以,因为写卡我们需要使用 dd 命令。 首先找到你的 sd 卡所在分区,执行以下命令,然后找到容量是你卡容量的那个分区
diskutil list

我的是 /dev/disk3,然后就开始写入镜像,注意写入的时候为了加速需要改成 /dev/rdisk3

diskutil unmountDisk /dev/disk3
sudo dd bs=1m if=2018-04-18-raspbian-stretch.img of=/dev/rdisk3 conv=sync

等一会,大概三分钟左右会提示 success。然后就可以看到自动 mount 了一个 boot 分区。

  • 通常接下来就应该连接网线,插电开机了。不,这太不优雅了。我们不需要网线,3b是有无线网卡的,我们可以修改配置开机自动联网。因为需要访问 ext4 分区,所以需要安装一个插件 fuse-ext2,linux原生可以访问,可以跳过插件安装。
sudo mount -t fuse-ext2 /dev/disk3s2 /Volumes/rpi 或者
sudo fuse-ext2 /dev/disk3s2 /Volumes/rpi -o force

这时候 pi 的系统分区就挂载成功可以访问了。接下来就可以修改网络配置自动连wifi了。

sudo vim /Volumes/rpi/etc/network/interfaces

在最后加上以下配置,启用 eth0, wlan0 的 DHCP,并且使用配置文件 /etc/wpa_supplicant/wpa_supplicant.conf 配置 wlan0

auto wlan0

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

然后修改 /etc/wpa_supplicant/wpa_supplicant.conf 加入 wifi 的配置

sudo vim /Volumes/rpi/etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
        ssid="ASUS_B1C0"
        psk="your_password"
        priority=1
}

如果你有多个 wifi 热点,可以复制 network 块追加更多配置,priority 字段表示优先级,值大的优先连接。
至此,开机自动连 wifi 的配置就完成了。

  • 打开 ssh,官方镜像的 ssh 功能默认是关闭的。为了开机能在电脑上 ssh 上去操作,需要提前设置打开。这个很简单,根据官方文档,在 /boot 分区新建一个空的 ssh 的文件就可以了。
  • 接下来就是见证奇迹的时刻,通电后等两分钟,就可以在路由器管理后台看到 raspberrypi 的设备已经连上 wifi 了。接下来就可以 ssh 上去进行初始化了。参考 raspi-config.md
ssh pi@192.168.123.32
sudo raspi-config