标签: youtube-dl

如何从 youtube-dl --write-auto-sub 下载转换混乱的 .vtt 子文件?

我的目标是在单独的文件中下载带有自动生成字幕的 YouTube 视频,例如.vtt.srt等。

我目前正在努力实现这一目标youtube-dl但如果需要,我愿意接受其他解决方案。

当我运行以下命令时,它将视频下载为.mp4(这很好)和一个单独的.vtt文件,但.vtt似乎不知何故搞砸了,并立即显示整个剪辑的所有文本,而不是指定的时间。

我正在运行的命令:

youtube-dl --write-auto-sub https://www.youtube.com/watch?v=Roc89oOZOF4&list=PLJBo3iyb1U0eNNN4Dij3N-d0rCJpMyAKQ&index=45
Run Code Online (Sandbox Code Playgroud)

下载此 .vtt:

WEBVTT
Kind: captions
Language: en

00:00:05.960 --> 00:00:08.290 align:start position:0%
 
thank <00:00:06.003><c>you  </c><00:00:06.046><c>ah </c><00:00:06.089><c>crap  </c><00:00:06.132><c>well </c><00:00:06.175><c>looks </c><00:00:06.218><c>like </c><00:00:06.261><c>the </c><00:00:06.304><c>good </c><00:00:06.347><c>Lord </c><00:00:06.390><c>just </c><00:00:06.433><c>sent  </c><00:00:06.476><c>me </c><00:00:06.519><c>a </c><00:00:06.562><c>conversation </c><00:00:06.605><c>starter </c><00:00:06.648><c>come </c><00:00:06.691><c>here  </c><00:00:06.734><c>Jesse </c><00:00:06.777><c>come </c><00:00:06.820><c>get </c><00:00:06.863><c>the </c><00:00:06.906><c>ball  </c><00:00:06.949><c>hmm</c>

00:00:08.290 --> 00:00:10.549 align:start position:0%
thank you  ah crap  well looks like the good Lord just sent  me a conversation starter come here …
Run Code Online (Sandbox Code Playgroud)

ffmpeg subtitle youtube-dl video-subtitles

4
推荐指数
1
解决办法
1288
查看次数

pytube:AttributeError:“NoneType”对象没有属性“span”cipher.py

昨天这工作正常,今天我在我的本地计算机、colab 笔记本、甚至在我的 VPS 上遇到错误。

/usr/local/lib/python3.9/dist-packages/pytube/cipher.py in get_throttling_plan(js)
    409     match = plan_regex.search(raw_code)
    410 
--> 411     transform_plan_raw = find_object_from_startpoint(raw_code, match.span()[1] - 1)
    412 
    413     # Steps are either c[x](c[y]) or c[x](c[y],c[z])
Run Code Online (Sandbox Code Playgroud)

from pytube import YouTube def audio_download(video_url): audio_file = YouTube(video_url).streams.filter(only_audio=True).first().download(filename="audio.mp4") return 'ok'

预计下载音频。我什至尝试按照其他解决方案中所述更改 cipher.py 文件,但不起作用。

python youtube youtube-dl pytube

4
推荐指数
1
解决办法
1413
查看次数

检测到Youtube加密签名

我正在研究视频模式,为此我需要从youtube下载视频.我发现youtube-dl项目对此非常有用,因为它是一个用Python编写的命令行工具(它与我的项目的其余部分很好地集成在基于ubuntu的python上).

尝试下载一些视频,我遇到了这个问题:

me@server:~/Desktop/YouTube/backend$ ./youtube-dl.py https://www.youtube.com/watch?v=8SbUC-UaAxE
[youtube] Setting language
[youtube] 8SbUC-UaAxE: Downloading video webpage
[youtube] 8SbUC-UaAxE: Downloading video info webpage
[youtube] 8SbUC-UaAxE: Extracting video information
[youtube] 8SbUC-UaAxE: Encrypted signatures detected.
ERROR: unable to download video
Run Code Online (Sandbox Code Playgroud)

1)这是因为该视频受版权保护吗?
2)有没有人有下载这类视频的经验?我看到Free Video Downloader这个工具栏应用程序之类的工具似乎很好地解决了这个问题.我需要在python web框架,nodejs或类似的东西中完成类似的功能.

python youtube youtube-dl

3
推荐指数
1
解决办法
4416
查看次数

我可以使用youtube-dl提供直接链接并使用其他方式下载它们吗?

具体来说我想使用DownloadThemAll,我可以使用youtube-dl给我直接链接吗?

youtube-dl

3
推荐指数
1
解决办法
5803
查看次数

youtubeDL无法下载视频时,恢复下载后续视频

我正在尝试开发一个Python脚本来下载一堆youtube视频,这些视频是使用youtube-dl模块从csv文件输入的。由于单个视频下载失败,脚本停止。我需要脚本继续下载下一个视频,而忽略了无法下载的视频。有人可以帮我如何在python中处理这个问题吗?

exception-handling python-2.7 youtube-dl

3
推荐指数
1
解决办法
1510
查看次数

在mac OS X上更新youtube-dl

我尝试更新youtube-dl上的最新版本,但我无法更新,当我尝试得到错误时
"看起来你安装了youtube-dl与包管理器,pip,setup.py或tarball.请使用更新."

macos homebrew youtube-dl osx-elcapitan

3
推荐指数
2
解决办法
5545
查看次数

如何使用youtube-dl仅下载缩略图?

我一直在尝试下载我拥有的URL(YouTube视频)列表的缩略图。

我一直在使用youtube-dl,到目前为止,我已经解决了这个问题:

     import os

     with open('results.txt') as f:
          for line in f:
              os.system("youtube-dl " + "--write-thumbnail " + line)
Run Code Online (Sandbox Code Playgroud)

像这样,我可以下载缩略图,但是我也不得不下载youtube视频。

如何下载缩略图?

python youtube youtube-dl

3
推荐指数
3
解决办法
8817
查看次数

从YouTube视频中提取音频链接而不进行转换

我知道有数百个网站将youtube视频转换为mp3.他们中的大多数是通过首先下载视频,然后使用youtube-dl,ffmpeg或类似程序将其转换为服务器上的mp3(或任何其他音频格式)来实现的.

我想知道的是,有什么办法可以为任何YouTube视频提取音频链接吗?我不知道是否可能,但我看到有几个网站在做这件事.

第一个网站:Openaisearch.com 这个网站只是提供音频的下载链接(从YouTube视频获取).我搜索了一首歌并看到了下载网址,它看起来像这样:

https://redirector.googlevideo.com/videoplayback?source=youtube&requiressl=yes&clen=3814013&upn=dzwY9aUVYME&lmt=1469875393441562&expire=1484854959&mime=audio%2Fmp4&nh=IgpwcjAxLnNlYTA5Kg01Mi45NS4yMTYuMTAy&itag=140........... 
Run Code Online (Sandbox Code Playgroud)

我相信这不是首先下载并将视频转换为音频格式(如果我错了,请纠正我).虽然使用此链接后下载的文件没有任何扩展名,但在下载文件末尾添加".m4a"可以正常工作.

第二个网站:http://keepvid.com/?url = https://www.youtube.com/watch?v = PT2_F-1esPk

再次类似的网站与类似的音频链接.您可以访问URL查看音频文件的链接.

知道这些网站如何获得"googlevideo.com"链接?他们会废弃youtube视频链接吗?

谢谢.

youtube audio ffmpeg youtube-dl

3
推荐指数
1
解决办法
5130
查看次数

在IINA中选择YouTube视频质量?

IINA是一个很好的球员.您甚至可以从YouTube播放视频(通过youtube-dl)但是如何选择视频质量?

默认情况下youtube-dl使用最佳质量.如果视频是4K - 你将获得4K.有时它对笔记本来说太过分了.

youtube-dl

3
推荐指数
1
解决办法
1768
查看次数

从youtube下载视频并转换为MP4

我创建了一个脚本来下载youtube视频并在每个期间从中提取图像

屏幕截图视频

def screenshotvideo(url, interval, id, fullduration, title, quality):
    interval = int(interval)
    parsed_t = isodate.parse_duration(fullduration)
    durationseconds=parsed_t.total_seconds()
    iterat=int(durationseconds/int(interval))
    for i in range(0, iterat):
        print(str(id))
        print(str(i))
        print(str(i*interval))
        part(url, time.strftime('%H:%M:%S', time.gmtime(int(i*interval))), "00:00:01", title+"-"+str(id), quality)
Run Code Online (Sandbox Code Playgroud)

部分

def part(url, starttime, duration, name, quality):
    f = os.popen("ffmpeg $(youtube-dl -f "+quality+" -g '"+url+"' | sed 's/.*/-ss "+starttime+" -i &/') -t "+duration+" -c copy "+name+".mp4")
    now = f.read()
    print(now)
    f = os.popen("ffmpeg -i "+name+".mp4 -ss 00:00:00 -vframes 1 "+name+".jpg")
    now = f.read()
    print(now)
    f = os.popen("rm -rf "+name+".mp4") …
Run Code Online (Sandbox Code Playgroud)

python ffmpeg youtube-dl

3
推荐指数
1
解决办法
200
查看次数