LINUX.ORG.RU

yt-dlp. Загрузка видео вместе с субтитрами.

 , ,


0

3

Очень желательно иметь их в формате srt, чтобы можно было смотреть в видеопроигрывателе или хотя бы загружать файл субтитров отдельно от видео, чтобы потом опять же сконвертировать и смотреть. Если что, ман по субтитрам смотрел, то как сделать раздельное сохранение, не догадался. Подскажите, люди добрые, а то Ютуб перевод субтитров ломает опять. Как мне субтитры на русском к видео спасти?

Так они ж по умолчанию раздельно и сохраняются. Я использую Tartube, там в Download options вкладка Subtitles, все интуитивно понятно настраивается. Рядом с видео кладется .vtt файл с таким же именем. Не пойму, чего конкретно не хватает в этом?

damix9 ★★★
()

Если что, ман по субтитрам смотрел, то как сделать раздельное сохранение, не догадался.

Я в подобных случаях вбиваю нужное в «issues», так всяко найдется практический пример. Подсмотрел здесь:

yt-dlp -f b "https://youtu.be/iBAmXbPfvck" --all-subs --convert-subs srt --sub-langs all

ls *.mp4 *.srt
'The Offspring - The Kids Aren'\''t Alright (Russian Cover by RADIO TAPOK Кавер) [iBAmXbPfvck].mp4'
'The Offspring - The Kids Aren'\''t Alright (Russian Cover by RADIO TAPOK Кавер) [iBAmXbPfvck].ru.srt'


p.s. Наверно есть параметры, чтобы субтитры не только скачивались, но и собирались в один контейнер с видео. Надо смотреть.

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 2)
Ответ на: комментарий от krasnh

Наверно есть параметры, чтобы субтитры не только скачивались, но и собирались в один контейнер с видео.

--embed-subs                    Embed subtitles in the video (only for mp4,
                                webm and mkv videos)
damix9 ★★★
()
Ответ на: комментарий от LongLiveUbuntu

Если нетрудно, дай подобную ссылку. У меня качает все.

p.s. Кстати, по доке --all-subs является устаревшей и желательно поменять на --sub-langs all --write-subs или --sub-langs ru --write-subs.

###Если нужны только субтитры, добавить --skip-download.

krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)
Ответ на: комментарий от LongLiveUbuntu

Да, это глобально. По всему интернету народ бегает с криками. )

https://support.google.com/youtube/thread/ 23.07.2023, 00:11:41
Я недавно столкнулся с такой проблемой, перестали работать субтитры в видео хотя 3 дня назад все работало...(c)

krasnh ★★★★
()

Я для себя прописал в ~/.config/yt-dlp/config

# Do not use the Last-modified header to set the file modification time.
--no-mtime

# Download Russian subtitle.
--sub-langs ru
--write-auto-sub
--convert-subs srt

# Save to ~/Downloads directory.
--output "$HOME/Downloads/yt-video/%(title)s.%(ext)s"

# Prefer 1080p or lower resolutions
-f bestvideo[ext=mp4][width<2000][height<=1200]+bestaudio[ext=m4a]/bestvideo[ext=webm][width<2000][height<=1200]+bestaudio[ext=webm]/bestvideo[width<2000][height<=1200]+bestaudio/best[width<2000][height<=1200]/best

yt-dlp качает видео и аудио в лучшем качестве, и сохраняет это вместе с субтитрами в указанный каталог.

Wind ★★★
()
Ответ на: комментарий от Wind

Можно ли задать:

  • параллельную закачку как русских, так и английских субтитров;
  • сохранение аудио и видео в одном контейнере mkv?
Mobutu_Sese_Seko
()
Последнее исправление: Mobutu_Sese_Seko (всего исправлений: 1)

добавлю своего, на всякий случай:

$ cat .config/yt-dlp/config 
-4
--geo-bypass
--yes-playlist
-N 10
-R infinite
--windows-filenames
--no-overwrites
--continue
--mtime
--write-thumbnail
--write-url-link
--audio-multistreams
--write-auto-subs
--sub-langs en,ru
--embed-chapters
--embed-info-json
--embed-metadata
--embed-subs
--xattrs
--force-keyframes-at-cuts
--no-sponsorblock

плюс раздельные алиасы в .bashrc для видео/аудио.

etwrq ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Похоже починили. Во всяком случае можно сгенерировать переведенные subtitles. Не знаю правда, насколько хорошо их качество.

Команда ниже скачает авто-переведенные sub, других там нет. Но в видео, где есть вручную созданные сабы, получится легкая мешанина из обычных и автоматических. Писать bash с проверкой условий…? )

$ yt-dlp -f b 'iQVei5C2N4E' --sub-langs 'ru,ru.*' --convert-subs srt --write-subs --write-auto-subs --skip-download

$ ls *.srt
'Within Temptation - Faster (Music Video) [iQVei5C2N4E].ru-en-nP7-2PuUl7o.srt'
krasnh ★★★★
()
Последнее исправление: krasnh (всего исправлений: 1)