B站的“四狼讲棋”视频,不露脸的大老爷们,视频和音频有多种码率和分辨率:
bandwidth: 101695, mimeType: "video/mp4", mime_type: "video/mp4", codecs: "avc1.640033", width: 852, height: 480,bandwidth: 148431, mimeType: "video/mp4", mime_type: "video/mp4", codecs: "hev1.1.6.L120.90", width: 852, height: 480,bandwidth: 129808, mimeType: "video/mp4", mime_type: "video/mp4", codecs: "av01.0.00M.10.0.110.01.01.01.0", width: 852, height: 480,bandwidth: 105513, mimeType: "video/mp4", mime_type: "video/mp4", codecs: "hev1.1.6.L120.90", width: 640, height: 360,bandwidth: 73416, mimeType: "video/mp4", mime_type: "video/mp4", codecs: "avc1.640033", width: 640, height: 360,bandwidth: 91447, mimeType: "video/mp4", mime_type: "video/mp4", codecs: "av01.0.00M.10.0.110.01.01.01.0", width: 640, height: 360,bandwidth: 66140, mimeType: "audio/mp4", mime_type: "audio/mp4", codecs: "mp4a.40.2",bandwidth: 124339, mimeType: "audio/mp4", mime_type: "audio/mp4", codecs: "mp4a.40.2",bandwidth: 239894, mimeType: "audio/mp4", mime_type: "audio/mp4", codecs: "mp4a.40.2"
① 用户只会上传一种分辨率的吧,多种分辨率都得重新编码,无数电子被驱使来驱使去。也许B站把视频和音频分开的主要目的不是防盗,而是“组合爆炸”。
② 音频码率最高239,894,我的大多数歌曲mp3都是128Kbps的,纯音乐才有320Kbps的。虽然四郎比那些声音尖锐,普通话不利落的好多了,但也不至于240Kbps吧。
B站有点强迫我下载高分辨率的,贴个重新压缩下的shell脚本
if [[ $# -eq 0 ]]; thencp $0 /tcd /tffa.sh dummyexit fiO=ffout.mp4 # -rw-r--r-- 1 user user 11942948 Sep 23 13:03 D854300968_qe1-1-192.mp4 LANG= for F in $(ls -lS *.mp4 | head -n 5 | awk '{print $9}'); do[[ $F =~ ^D ]] && continueN=$(stat -c%s "$F")if [[ $N -lt 16000000 ]]; thencontinuefiR=`ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 $F`S=if [[ $R == *1280* ]]; thenS='scale=iw/2:ih/2,'fiC="ffmpeg -i $F -vf ${S}format=gray,format=yuv420p -c:v h264 -b:v 128k -preset fast -c:a aac -b:a 20k -ar 16000 -ac 1 $O"$Crm -f $Fmv -f $O "D$F" done
-c:a aac -b:a 20k,我用20Kbps. /t为到/dev/shm的符号链接,不损SSD. C=再$C多余,直接执行即可。bash与所有的编程语言都不同的一点是:ls就要能执行,连'ls'都不用,更甭说os.system('ls')了。Java更是惨不忍睹,不写个类和Main啥也干不成。