Closed ghost closed 6 years ago
已改,还没测试,你有空可以测试一下,我到晚上才能测试
另外我的测试,结果和你的不一样:
C:\Users\Administrator>you-get -i https://www.bilibili.com/video/av14554845
site: Bilibili
title: 【鏡音リン &鏡音レン】病名为爱【Neru】
streams: # Available quality and codecs
[ DEFAULT ] _________________________________
- format: mp4
container: mp4
size: 29.3 MiB (30732667 bytes)
# download-with: you-get --format=mp4 [URL]
@chenxuuu 你的you-get版本是多少呢?我的是0.4.1011。
root@a:~/24h-raspberry-live-on-bilibili# pip3 list
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
chardet (2.3.0)
command-not-found (0.3)
cryptography (1.7.1)
distro-info (0.14build1)
idna (2.2)
keyring (10.3.1)
keyrings.alt (2.2)
language-selector (0.1)
mutagen (1.39)
pip (9.0.1)
pyasn1 (0.1.9)
pycrypto (2.6.1)
pygobject (3.22.0)
python-apt (1.4.0b2)
python-debian (0.1.30)
pyxdg (0.25)
PyYAML (3.12)
requests (2.10.0)
SecretStorage (2.3.1)
setuptools (33.1.1)
six (1.10.0)
ssh-import-id (5.6)
ufw (0.35)
urllib3 (1.15.1)
wheel (0.29.0)
you-get (0.4.1011)
@chenxuuu ,刚刚测试了一下,程序可以下载av14554845了,但它下载的是format
是mp4
的视频。
我在其他文件夹分别下载了format
为flv720
和mp4
的视频,分别用FFmpeg查看了一下视频属性。
首先看的是flv720
的,它是720P的。
root@a:~# ffmpeg -i *Neru*.flv
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Ubuntu 6.3.0-12ubuntu2) 20170406
configuration: --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree --enable-libass --enable-libfreetype --arch=x86_64
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, flv, from '【鏡音リン &鏡音レン】病名为爱【Neru】.flv':
Metadata:
description : Packed by Bilibili XCoder v1.0(fixed_gap:False)
metadatacreator : Yet Another Metadata Injector for FLV - Version 1.9
hasKeyframes : true
hasVideo : true
hasAudio : true
hasMetadata : true
canSeekToEnd : true
datasize : 59184915
videosize : 53473942
audiosize : 5645169
lasttimestamp : 232
lastkeyframetimestamp: 232
lastkeyframelocation: 59186579
Duration: 00:03:52.19, start: 0.083000, bitrate: 2039 kb/s
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 1840 kb/s, 24 fps, 23.98 tbr, 1k tbn, 47.95 tbc
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp, 190 kb/s
At least one output file must be specified
再看mp4
的,它是360P的。
root@zyvps:~# ffmpeg -i *Neru*.mp4
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 6.3.0 (Ubuntu 6.3.0-12ubuntu2) 20170406
configuration: --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree --enable-libass --enable-libfreetype --arch=x86_64
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '【鏡音リン &鏡音レン】病名为爱【Neru】.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.71.100
description : Packed by Bilibili XCoder v1.0(fixed_gap:False)
Duration: 00:03:52.30, start: 0.000000, bitrate: 1058 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 921 kb/s, 20 fps, 20 tbr, 16k tbn, 40 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 131 kb/s (default)
Metadata:
handler_name : SoundHandler
At least one output file must be specified
建议让程序自动选择画质最高的源视频来下载。用360P的视频渲染成720P的视频总感觉有点别扭。
好了,你看看现在的代码
成功,程序可以下载到flv720
的视频了。
根据我的发现,某些较新的视频下载不了。 比如我想点播av14554845,you-get没有下载到这个视频。
而我点播av14042990p1,you-get却能成功下载到这个视频。
直接用you-get下载并加上
--debug
输出
根据最后一行
KeyError: 'flv'
,推断问题出在下载时用了format=flv
这个参数上,执行输出
可以看到format只有
flv720
和mp4
这两种,没有flv
这种format。 再执行输出
可以看到format里有
flv
,所以这个视频才能下载进来。所以我认为用you-get下载B站视频时不应该强制使用format=flv
,还有一个bug就是视频根本没有下载成功,程序却发弹幕提示下载完成,等待渲染
。希望大佬能改进一下,我也在用这个程序24小时直播,但我没有树莓派,我是装在VPS上的。