Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: yt-dlp Масовое скачивание видео с youtube.com и не только  (Прочитано 468866 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dstftw

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #15 : 14 Февраля 2016, 20:49:33 »
youtube-dl --ignore-errors -o /home/user/Video/youtube/'%(uploader)s/%(playlist)s/%(title)s'.mp4 https://www.youtube.com/user/ArtSorax/playlists
Правильнее указывать расширение также шаблоном, иначе возможны проблемы по части постпроцессинга:
-o '/home/user/Video/youtube/%(uploader)s/%(playlist)s/%(title)s.%(ext)s'
расширение указанно правильно и проблем не будет. И вообще bash  это за ошибку не считает  /home/user/Video/youtube/ или '/home/user/Video/youtube/'  моем Варианте нету синтаксичеких символов  или пробелов. чтобы bash посчитал это за команду так что все хорошо

Расширение может быть произвольным, а не только mp4. Если для какого-то видео webm окажется лучше по качеству, то в результате в лучшем случае вы получите файл title.mp4.webm, что совсем не то, что ожидается.

Оффлайн livanda

  • Автор темы
  • Участник
  • *
  • Сообщений: 233
  • За мной будущее! А что за вами?
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #16 : 14 Февраля 2016, 23:44:58 »
dstftw,
Может в кодировке и да но в названии нет. У в моем примере фиксировано стоит .mp4 Хочу напомнить что linux  по барабану на все эти названия расширения. Это вам не windows. B И вот такого названия title.mp4.webm файла не будет

Пользователь решил продолжить мысль 15 Февраля 2016, 00:11:59:
dstftw,
И да солнышко Я сейчас посмотрела внимательно. Вообщем есть тебе угодно ставить расширение динамическое .%(ext)s то ради бога ставь. Ни в твоем варианте ни в моем .mp4 ошибки нету. Успокойся и не флуди в теме пожалуйста. 
« Последнее редактирование: 15 Февраля 2016, 00:11:59 от livanda »

Оффлайн dstftw

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #17 : 15 Февраля 2016, 00:27:26 »
dstftw,
Может в кодировке и да но в названии нет. У в моем примере фиксировано стоит .mp4 Хочу напомнить что linux  по барабану на все эти названия расширения.

Зато ffmpeg'у не "по барабану".

B И вот такого названия title.mp4.webm файла не будет

Контр-пример:
[dst@serpent youtube-dl]$ python -m youtube_dl -v -F -o '%(title)s'.mp4 FlRa-iH7PGw
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', '-F', '-o', '%(title)s.mp4', 'FlRa-iH7PGw']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.02.13
[debug] Git HEAD: 9dcefb2
[debug] Python version 3.5.1 - Linux-4.3.3-2-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 2.8.5, ffprobe 2.8.5, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] FlRa-iH7PGw: Downloading webpage
[youtube] FlRa-iH7PGw: Downloading video info webpage
[youtube] FlRa-iH7PGw: Extracting video information
[youtube] FlRa-iH7PGw: Downloading MPD manifest
[info] Available formats for FlRa-iH7PGw:
format code  extension  resolution note
249          webm       audio only DASH audio   49k , opus @ 50k, 3.96MiB
250          webm       audio only DASH audio   57k , opus @ 70k, 4.47MiB
251          webm       audio only DASH audio  103k , opus @160k, 8.18MiB
140          m4a        audio only DASH audio  128k , m4a_dash container, mp4a.40.2@128k (44100Hz), 10.97MiB
171          webm       audio only DASH audio  132k , vorbis@128k (44100Hz), 7.35MiB
278          webm       256x144    DASH video   86k , webm container, vp9, 15fps, video only, 5.06MiB
160          mp4        256x144    DASH video  112k , avc1.4d400c, 15fps, video only, 9.42MiB
242          webm       426x240    DASH video  172k , vp9, 30fps, video only, 6.28MiB
133          mp4        426x240    DASH video  252k , avc1.4d4015, 30fps, video only, 21.13MiB
134          mp4        640x360    DASH video  268k , avc1.4d401e, 30fps, video only, 14.88MiB
243          webm       640x360    DASH video  309k , vp9, 30fps, video only, 12.68MiB
244          webm       854x480    DASH video  569k , vp9, 30fps, video only, 23.56MiB
135          mp4        854x480    DASH video  644k , avc1.4d401f, 30fps, video only, 34.70MiB
247          webm       1280x720   DASH video 1161k , vp9, 30fps, video only, 60.85MiB
136          mp4        1280x720   DASH video 1686k , avc1.4d401f, 30fps, video only, 82.65MiB
137          mp4        1920x1080  DASH video 2501k , avc1.640028, 30fps, video only, 168.49MiB
248          webm       1920x1080  DASH video 3167k , vp9, 30fps, video only, 160.46MiB
36           3gp        320x?      small , mp4v.20.3,  mp4a.40.2
17           3gp        176x144    small , mp4v.20.3,  mp4a.40.2@ 24k
5            flv        400x240    small , h263, mp3  @ 64k
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)

bestvideo = webm, bestaudio = webm, на выходе webm (итоговое имя "!!Con 2015 - Kevin Lynagh - I made a cell phone! (DON'T TELL THE FCC KTHX!).mp4.webm"):
[dst@serpent youtube-dl]$ python -m youtube_dl -v -o '%(title)s'.mp4 FlRa-iH7PGw
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['-v', '-o', '%(title)s.mp4', 'FlRa-iH7PGw']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2016.02.13
[debug] Git HEAD: 9dcefb2
[debug] Python version 3.5.1 - Linux-4.3.3-2-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 2.8.5, ffprobe 2.8.5, rtmpdump 2.4
[debug] Proxy map: {}
[youtube] FlRa-iH7PGw: Downloading webpage
[youtube] FlRa-iH7PGw: Downloading video info webpage
[youtube] FlRa-iH7PGw: Extracting video information
[youtube] FlRa-iH7PGw: Downloading MPD manifest
[debug] Invoking downloader on 'https://r1---sn-ug5onuxaxjvh-v8cl.googlevideo.com/videoplayback?id=16545afa21fb3c6c&itag=248&source=youtube&requiressl=yes&pl=24&mn=sn-ug5onuxaxjvh-v8cl&mm=31&mv=m&ms=au&ratebypass=yes&mime=video/webm&gir=yes&clen=168255261&lmt=1439967089782732&dur=724.157&upn=vYNNYsbN6zc&signature=68ADEEDE48DE490B66C1C4794A874C9A6A15E90D.7CAD916F7B09F3BF8A9DC120C34770C5B965CFF5&sver=3&key=dg_yt0&fexp=9405191,9416126,9418199,9420096,9420452,9422596,9423661,9423662,9424135,9427579,9428437,9428766&mt=1455484581&ip=<snip>&ipbits=0&expire=1455506307&sparams=ip,ipbits,expire,id,itag,source,requiressl,pl,mn,mm,mv,ms,ratebypass,mime,gir,clen,lmt,dur'
[download] Destination: !!Con 2015 - Kevin Lynagh - I made a cell phone! (DON'T TELL THE FCC KTHX!).mp4.f248
[download] 100% of 160.46MiB in 00:21
[debug] Invoking downloader on 'https://r1---sn-ug5onuxaxjvh-v8cl.googlevideo.com/videoplayback?id=16545afa21fb3c6c&itag=171&source=youtube&requiressl=yes&pl=24&mn=sn-ug5onuxaxjvh-v8cl&mm=31&mv=m&ms=au&ratebypass=yes&mime=audio/webm&gir=yes&clen=7704184&lmt=1439965226788530&dur=724.193&upn=vYNNYsbN6zc&signature=484E0B5EE119A1805A042112E1020A85890AFB15.449F479D9C7C95ED3FBB222226D0CF13B275C00B&sver=3&key=dg_yt0&fexp=9405191,9416126,9418199,9420096,9420452,9422596,9423661,9423662,9424135,9427579,9428437,9428766&mt=1455484581&ip=<snip>&ipbits=0&expire=1455506307&sparams=ip,ipbits,expire,id,itag,source,requiressl,pl,mn,mm,mv,ms,ratebypass,mime,gir,clen,lmt,dur'
[download] Destination: !!Con 2015 - Kevin Lynagh - I made a cell phone! (DON'T TELL THE FCC KTHX!).mp4.f171
[download] 100% of 7.35MiB in 00:10
[ffmpeg] Merging formats into "!!Con 2015 - Kevin Lynagh - I made a cell phone! (DON'T TELL THE FCC KTHX!).mp4.webm"
[debug] ffmpeg command line: ffmpeg -y -i 'file:!!Con 2015 - Kevin Lynagh - I made a cell phone! (DON'"'"'T TELL THE FCC KTHX!).mp4.f248' -i 'file:!!Con 2015 - Kevin Lynagh - I made a cell phone! (DON'"'"'T TELL THE FCC KTHX!).mp4.f171' -c copy -map 0:v:0 -map 1:a:0 'file:!!Con 2015 - Kevin Lynagh - I made a cell phone! (DON'"'"'T TELL THE FCC KTHX!).mp4.temp.webm'
Deleting original file !!Con 2015 - Kevin Lynagh - I made a cell phone! (DON'T TELL THE FCC KTHX!).mp4.f248 (pass -k to keep)
Deleting original file !!Con 2015 - Kevin Lynagh - I made a cell phone! (DON'T TELL THE FCC KTHX!).mp4.f171 (pass -k to keep)
« Последнее редактирование: 15 Февраля 2016, 00:33:48 от dstftw »

Оффлайн livanda

  • Автор темы
  • Участник
  • *
  • Сообщений: 233
  • За мной будущее! А что за вами?
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #18 : 15 Февраля 2016, 00:56:05 »
dstftw,
Солнышко '%(title)s' фиксированное названия файла, которое просто подставляется. даже если ты разрешения не укаешь оно так и сохраниться без разрежения .mp4.webm не будет такой уж параметр -o . Вообще если тебе нужно  скачать сам файл. То можно это сделать без разрешения -o. Тогда он скачает все по дефолту.
PS... Может я тебя не правильно понимаю? Лап расскажи пожалуйста, что ты хочешь сделать?

Оффлайн theurs

  • Активист
  • *
  • Сообщений: 470
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #19 : 15 Февраля 2016, 01:34:55 »
Последняя это какая? Если "последняя" из репозиториев убунты, то значит не последняя. Последняя версия на момент написания этого поста - 2016.02.13. В любом случае лог с --verbose в студию.

в подробном логе написано что версия avconv устаревшая по-этому не может качнуть раздельные файлы и склеить. при этом если указать вручную -f x+y то скачивает и склеивает

[debug] youtube-dl version 2016.02.13
[debug] Python version 2.7.3 - Linux-3.2.0-4-amd64-x86_64-with-debian-7.9
[debug] exe versions: avconv 0.8.17-6, avprobe 0.8.17-6, ffmpeg 0.8.17-6, ffprobe 0.8.17-6

WARNING: Your copy of avconv is outdated and unable to properly mux separate video and audio files, youtube-dl will download single file media. Update avconv to version 10-0 or newer to fix this.

Оффлайн dstftw

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #20 : 15 Февраля 2016, 02:04:15 »
dstftw,
Солнышко '%(title)s' фиксированное названия файла, которое просто подставляется. даже если ты разрешения не укаешь оно так и сохраниться без разрежения .mp4.webm не будет такой уж параметр -o . Вообще если тебе нужно  скачать сам файл. То можно это сделать без разрешения -o. Тогда он скачает все по дефолту.
PS... Может я тебя не правильно понимаю? Лап расскажи пожалуйста, что ты хочешь сделать?

%(title)s - это не название файла, а название видео, без расширения. Я прекрасно знаю что, как и куда подставляется и работает (я один из разработчиков youtube-dl если кто-то еще не догадался).
Без расширения youtube-dl сохранит файл только если скачивается формат, представленный единым файлом (с аудио и видео на борту), это был дефолт в старых версиях youtube-dl до 2015.04.26 (что говорит ваш youtube-dl --version кстати?). Однако, самое лучшее качество можно получить только, скачав отдельно DASH аудио и DASH видео и объединив (muxing) их при помощи ffmpeg (это дефолт в новых версиях (2015.04.26 и позже) и это делается автоматически), однако в данном случае выходной файл должен содержать расширение контейнера в который муксится аудио+видео, иначе ffmpeg просто не смуксит их. Поэтому, в этом случае, расширение будет всегда, вне зависимости от того указано оно в шаблоне или нет.
В приведенном примере как раз показывается случай когда муксятся webm video + webm audio, где четко видно что финальное расширение файла .webm, а из-за того что в output template задано .mp4, то и получается .mp4.webm.
И это только постпроцессинг муксинга аудио и видео, помимо которого есть еще целый ворох постпроцессоров (к примеру, эмбеддинг субтитров, обложек, извлечение аудио из видео и тд.), в которых возможны свои проблемы, в случае когда расширение хардкодится в шаблоне. Поэтому всегда стоит указывать его шаблоном %(ext)s, чтобы избежать потенциальных проблем и непредвиденного поведения.
В конце концов, новички, ведь, будут просто копи-пейстить вашу команду не задумываясь о том, что же на самом деле там происходит и потенциально натыкаться на "странное" поведение, а потом разрывать наш багтрекер невалидными тикетами. Раз уж можно сделать пример, который будет определенно работать во всех случаях, то почему бы и не сделать его таким?
Надеюсь понятно объяснил. Спасибо.

Пользователь решил продолжить мысль [time]15 Февраль 2016, 03:11:29[/time]:
Последняя это какая? Если "последняя" из репозиториев убунты, то значит не последняя. Последняя версия на момент написания этого поста - 2016.02.13. В любом случае лог с --verbose в студию.

в подробном логе написано что версия avconv устаревшая по-этому не может качнуть раздельные файлы и склеить. при этом если указать вручную -f x+y то скачивает и склеивает

[debug] youtube-dl version 2016.02.13
[debug] Python version 2.7.3 - Linux-3.2.0-4-amd64-x86_64-with-debian-7.9
[debug] exe versions: avconv 0.8.17-6, avprobe 0.8.17-6, ffmpeg 0.8.17-6, ffprobe 0.8.17-6

WARNING: Your copy of avconv is outdated and unable to properly mux separate video and audio files, youtube-dl will download single file media. Update avconv to version 10-0 or newer to fix this.


У вас очень древний avconv, советую обновиться. Некоторые видео+аудио, смуксенные этой версией avconv, получаются с рассинхроном, некоторые avconv этой версии не может смуксить вообще, именно поэтому для старых версий avconv/ffmpeg это отключено по умолчанию, но работает если вручную указать -f video+audio.
« Последнее редактирование: 15 Февраля 2016, 02:21:09 от dstftw »

Оффлайн theurs

  • Активист
  • *
  • Сообщений: 470
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #21 : 15 Февраля 2016, 04:55:12 »
Более свежая версия, та же ситуация.

[debug] youtube-dl version 2016.02.13
[debug] Python version 2.7.3 - Linux-3.2.0-4-amd64-x86_64-with-debian-7.9
[debug] exe versions: avconv 1.0.10, avprobe 1.0.10, ffmpeg 1.0.10, ffprobe 1.0.10

WARNING: Your copy of avconv is outdated and unable to properly mux separate video and audio files, youtube-dl will download single file media. Update avconv to version 10-0 or newer to fix this.

Оффлайн cargan

  • Активист
  • *
  • Сообщений: 488
  • Oderint, dum metuant
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #22 : 15 Февраля 2016, 06:06:19 »
dstftw,
Сергей приношу извинения!! Вы на самом деле один их авторов разработки
https://github.com/dstftw

Оффлайн dstftw

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #23 : 15 Февраля 2016, 06:40:20 »
Более свежая версия, та же ситуация.

[debug] youtube-dl version 2016.02.13
[debug] Python version 2.7.3 - Linux-3.2.0-4-amd64-x86_64-with-debian-7.9
[debug] exe versions: avconv 1.0.10, avprobe 1.0.10, ffmpeg 1.0.10, ffprobe 1.0.10

WARNING: Your copy of avconv is outdated and unable to properly mux separate video and audio files, youtube-dl will download single file media. Update avconv to version 10-0 or newer to fix this.


Нужен как минимум avconv версии 10, у вас 1.0.10. Вообще странная версия, в архиве релизов avconv ее нет: https://libav.org/releases/. У вас avconv случайно не симлинкнут на ffmpeg? У ffmpeg есть такая версия: https://ffmpeg.org/releases/. В любом случае она слишком старая.

Оффлайн livanda

  • Автор темы
  • Участник
  • *
  • Сообщений: 233
  • За мной будущее! А что за вами?
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #24 : 15 Февраля 2016, 15:05:05 »


%(title)s - это не название файла, а название видео, без расширения. Я прекрасно знаю что, как и куда подставляется и работает (я один из разработчиков youtube-dl если кто-то еще не догадался).
Без расширения youtube-dl сохранит файл только если скачивается формат, представленный единым файлом (с аудио и видео на борту), это был дефолт в старых версиях youtube-dl до 2015.04.26 (что говорит ваш youtube-dl --version кстати?). Однако, самое лучшее качество можно получить только, скачав отдельно DASH аудио и DASH видео и объединив (muxing) их при помощи ffmpeg (это дефолт в новых версиях (2015.04.26 и позже) и это делается автоматически), однако в данном случае выходной файл должен содержать расширение контейнера в который муксится аудио+видео, иначе ffmpeg просто не смуксит их. Поэтому, в этом случае, расширение будет всегда, вне зависимости от того указано оно в шаблоне или нет.
В приведенном примере как раз показывается случай когда муксятся webm video + webm audio, где четко видно что финальное расширение файла .webm, а из-за того что в output template задано .mp4, то и получается .mp4.webm.
И это только постпроцессинг муксинга аудио и видео, помимо которого есть еще целый ворох постпроцессоров (к примеру, эмбеддинг субтитров, обложек, извлечение аудио из видео и тд.), в которых возможны свои проблемы, в случае когда расширение хардкодится в шаблоне. Поэтому всегда стоит указывать его шаблоном %(ext)s, чтобы избежать потенциальных проблем и непредвиденного поведения.
В конце концов, новички, ведь, будут просто копи-пейстить вашу команду не задумываясь о том, что же на самом деле там происходит и потенциально натыкаться на "странное" поведение, а потом разрывать наш багтрекер невалидными тикетами. Раз уж можно сделать пример, который будет определенно работать во всех случаях, то почему бы и не сделать его таким?
Надеюсь понятно объяснил. Спасибо.

Вот теперь да. А то я не не понимала что зачем и как и что ты вообще хочешь... Зачит сейчас буду править. Так солнышко с чего начать. Могу конечно переписать все это что мы тут писали... по человечески... Но мне кажется тут еще нужды будут пояснения. Что как и почему. А вообще знаешь я в первые слышу чтобы вот от расширения что-то так сильно зависило... для меня это просто не обозначения кодировки, а то что это файл видео. Сколько пользуюсь от тебя это в первые слышу. Так лапа с чего начать
youtube-dl --version
2016.01.01

Оффлайн theurs

  • Активист
  • *
  • Сообщений: 470
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #25 : 15 Февраля 2016, 16:52:22 »
Скачал https://www.youtube.com/watch?v=rjokTe2jGw4 в автоматическом режиме, скачалось самое лучшее качество, вот только теперь ни один плеер(vlc smplayer totem) не может проиграть звук, говорят неизвестный науке кодек. -f x+y как то понадежнее работает. ffplay только играет, но хотелось бы smplayer.
« Последнее редактирование: 15 Февраля 2016, 16:54:32 от theurs »

Оффлайн cargan

  • Активист
  • *
  • Сообщений: 488
  • Oderint, dum metuant
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #26 : 15 Февраля 2016, 17:32:48 »
theurs,
кстати совсем не обязательно чистый ю-туб, но и с РТР-Культура без проблем
http://tvkultura.ru/video/show/brand_id/21865/episode_id/1268369/video_id/1439882/ и всевозможных ухищрений, и не только , но и откуда захотите

Оффлайн livanda

  • Автор темы
  • Участник
  • *
  • Сообщений: 233
  • За мной будущее! А что за вами?
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #27 : 17 Февраля 2016, 21:21:38 »
По скольку всех волновала так сильно кодировка. Я немного изменила мини гайдик. Добавила самое простое что могла придумать безе перекодировок. Воть. 

Оффлайн theurs

  • Активист
  • *
  • Сообщений: 470
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #28 : 18 Февраля 2016, 03:26:37 »
theurs,
кстати совсем не обязательно чистый ю-туб, но и с РТР-Культура без проблем
http://tvkultura.ru/video/show/brand_id/21865/episode_id/1268369/video_id/1439882/ и всевозможных ухищрений, и не только , но и откуда захотите


Для всех остальных сайтов с видео есть браузерное расширение. На ютубе иногда надо скачать не одно видео а целый плейлист или канал тут таким расширением не отделаешься.
Или нет, там видео как на рутубе, расширением браузерным не качается. А youtube-dl я смотрю и с рутуба качать может, раньше вроде не мог.
« Последнее редактирование: 18 Февраля 2016, 03:31:13 от theurs »

Оффлайн lin_user

  • Старожил
  • *
  • Сообщений: 1292
    • Просмотр профиля
Re: youtube-dl Масовое скачивание видео с youtube.com
« Ответ #29 : 18 Февраля 2016, 09:52:07 »
Для всех остальных сайтов с видео есть браузерное расширение. На ютубе иногда надо скачать не одно видео а целый плейлист или канал тут таким расширением не отделаешься.
Или нет, там видео как на рутубе, расширением браузерным не качается. А youtube-dl я смотрю и с рутуба качать может, раньше вроде не мог.
youtube-dl поддерживает несколько сотен сайтов.

 

Страница сгенерирована за 0.043 секунд. Запросов: 25.