Я использую Ubuntu, и команда youtube-dl работает абсолютно нормально.
Я хочу загрузить только часть видео, которое слишком длинное. Поэтому я хочу скачать только пару минут видео. Пример от 13 минут до 17 минут.
Есть ли способ сделать это
Я не верю, что youtube-dl один сделает то, что ты хочешь. Однако вы можете комбинировать его с утилитой командной строки, такой как ffmpeg.
Сначала получите фактический URL, используя youtube-dl:
youtube-dl -g «https://www.youtube.com/watch?v=V_f2QkBdbRI»
Скопируйте вывод команды и вставьте его как часть -i параметра следующей команды:
ffmpeg -i «OUTPUT-OF-FIRST URL» -ss 00:00:15.00 -t 00:00:10.00 -c copy out.mp4
-ss Параметр в этом положении говорится , чтобы сбросить все входные данные вплоть до 15 секунд в видео. -t Вариант гласит , чтобы захватить в течение 10 секунд. Остальная часть команды говорит, что это должно быть сохранено как mp4.
ffmpeg является популярным инструментом и должен быть в любом из популярных репозиториев ОС / менеджеров пакетов.
Аналог Youtube-dl на C // Демо-занятие курса «Программист С»
По сути, вам все равно нужно скачать все видео и обрезать его самостоятельно
Вы можете использовать опцию -to вместо -t, если хотите указать время окончания фрагмента видео. ffmpeg -i «OUTPUT-OF-FIRST URL» -ss 00:13:00.00 -to 00:17:00.00 -c copy out.mp4
ffmpeg $(youtube-dl -g ‘https://www.youtube.com/watch?v=oHg5SJYRHA0’ | sed «s/.*/-ss 00:05 -i ) -t 01:00 -c copy out.mkv
Не могли бы вы объяснить, что это делает, как это работает?
ffmpeg.zeranoe.com/builds для Windows.
Добавляем к ответу Джонни:
Используйте youtube-dl -g «URL» для получения видео и аудио потоков.
ffmpeg -ss 12:15 -i «1st-URL» -ss 12:15 -i «2nd-URL» -t 5:15 -map 0:v -map 1:a -c:v libx264 -c:a aac output.mkv
Вам нужно будет использовать -ss опцию для каждого потока. Я также рекомендую сделать это примерно на 30 секунд раньше, а затем использовать другой, -ss 30 чтобы не потерять ключевые кадры. Вот реальный пример использования одного из моих видео на YouTube.
youtube-dl -g https://www.youtube.com/watch?v=gESHIrvIQQo
https://r3—sn-mv-cvne.googlevideo.com/videoplayback/id/80448722bbc8410a/itag/298/source/youtube/requiressl/yes/mn/sn-mv-cvne/ei/BgifWfmmL4iE8wSlv47oCA/mm/31/pl/23/mv/m/ms/au/initcwndbps/11447500/ratebypass/yes/mime/video%2Fmp4/otfp/1/gir/yes/clen/5231968228/lmt/1502479662079137/dur/18575.164/key/dg_yt0/signature/4FFB9B0B7E1703B31F5D07DAD579B55F17EF7BAA.0CB63905C89DD4D33F90CF3AAD728F1ECDFCB9B3/mt/1503594423/ip/206.34.122.70/ipbits/0/expire/1503616102/sparams/ip,ipbits,expire,id,itag,source,requiressl,mn,ei,mm,pl,mv,ms,initcwndbps,ratebypass,mime,otfp,gir,clen,lmt,dur/ https://r3—sn-mv-cvne.googlevideo.com/videoplayback/id/80448722bbc8410a/itag/140/source/youtube/requiressl/yes/mn/sn-mv-cvne/ei/BgifWfmmL4iE8wSlv47oCA/mm/31/pl/23/mv/m/ms/au/initcwndbps/11447500/ratebypass/yes/mime/audio%2Fmp4/otfp/1/gir/yes/clen/295235970/lmt/1502480001536214/dur/18575.243/key/dg_yt0/signature/4CD42047D1D5C714377350905C1CC5CBA37C0009.6EED1FC92D17A096235C32E48F4B15DEF7DD99B0/mt/1503594423/ip/206.34.122.70/ipbits/0/expire/1503616102/sparams/ip,ipbits,expire,id,itag,source,requiressl,mn,ei,mm,pl,mv,ms,initcwndbps,ratebypass,mime,otfp,gir,clen,lmt,dur/
Я хотел сократить с 43:00 до 50:10, так что я собираюсь сделать -ss 42:30 (давая мне несколько секунд, чтобы поймать хороший ключевой кадр) на обоих входах, а затем сделать -ss 30 после входа, чтобы начать в 43:00.
Как пользоваться YouTube Downloader
Затем я буду использовать map для отображения видео 0:v и аудио 1:a (0 означает первый вход, который является видео, а 1 означает второй вход, который является аудио), а затем выберу мои параметры кодирования.
ffmpeg -ss 42:30 -i «https://r3—sn-mv-cvne.googlevideo.com/videoplayback/id/80448722bbc8410a/itag/298/source/youtube/requiressl/yes/pl/23/ei/5wCfWY6dBeOj8gSSxZaACQ/mv/m/initcwndbps/5055000/ms/au/mm/31/mn/sn-mv-cvne/ratebypass/yes/mime/video%2Fmp4/otfp/1/gir/yes/clen/5231968228/lmt/1502479662079137/dur/18575.164/key/dg_yt0/beids/%5B9466591%5D/mt/1503592562/signature/8CCFBF5CAB97341D0CB1F34E85AB6EE20FC7A03E.7679F39A8603CF41A95F10232E2A921EB0774101/ip/206.34.122.70/ipbits/0/expire/1503614279/sparams/ip,ipbits,expire,id,itag,source,requiressl,pl,ei,mv,initcwndbps,ms,mm,mn,ratebypass,mime,otfp,gir,clen,lmt,dur/» -ss 42:30 -i «https://r3—sn-mv-cvne.googlevideo.com/videoplayback/id/80448722bbc8410a/itag/140/source/youtube/requiressl/yes/pl/23/ei/5wCfWY6dBeOj8gSSxZaACQ/mv/m/initcwndbps/5055000/ms/au/mm/31/mn/sn-mv-cvne/ratebypass/yes/mime/audio%2Fmp4/otfp/1/gir/yes/clen/295235970/lmt/1502480001536214/dur/18575.243/key/dg_yt0/beids/%5B9466591%5D/mt/1503592562/signature/4AACC8E27F9036D36D4D623A771A9F2BAC4674BA.7E4F4FB4DC023E3FE491A991F0F9F2329648DE9D/ip/206.34.122.70/ipbits/0/expire/1503614279/sparams/ip,ipbits,expire,id,itag,source,requiressl,pl,ei,mv,initcwndbps,ms,mm,mn,ratebypass,mime,otfp,gir,clen,lmt,dur/» -map 0:v -map 1:a -ss 30 -t 7:10 -c:v libx264 -c:a aac gog-vs-triv.mkv
Источник: qastack.ru
Youtube-DLG

Youtube-DLG (GUI for youtube-dl) — простой Python / wxWidgets (wxPython) графический интерфейс (GUI) для консольной утилиты youtube-dl.

youtube-dl — консольная Python утилита для загрузки потокового видео с YouTube и других видеохостингов, полный список можно посмотреть на сайте проекта (список постоянно пополняется), можно скачивать видео и с некоторых ресурсов не входящих в официальный список.


youtube-dl разноплановая утилита, обладающая внушительным функционалом, Youtube-DLG имеет множество настроек и простой пользовательский интерфейс, дающий доступ к большинству функциональных возможностей консольной утилиты.











Youtube-DLG поддерживает одновременную загрузку нескольких видеороликов, поддерживается докачка прерванных загрузок и игнорирование ошибок, исключая необходимость использования сторонних приложений, поддерживается работа через прокси.


Для загружаемых Youtube-DLG файлов можно задать параметры (формат, качество, имя файла и пр), поддерживается загрузка и встраивание субтитров, есть возможность извлечения аудио-дорожки (используя FFmpeg) и многое другое.

Лицензия: Public Domain (публичное достояние)
Источник: zenway.ru
Как вы используете youtube-dl для загрузки прямых трансляций?

Я буду использовать это живое событие в качестве примера:
Сначала перечислите форматы видео:
➜ youtube_live_test youtube-dl -f 95 -g https://www.youtube.com/watch?v=6aXR-SL5L2o https://manifest.googlevideo.com/api/manifest/hls_playlist/id/6aXR-SL5L2o.1/itag/95/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/cmbypass/yes/goi/160/sgoap/itag%3D140/sgovp/itag%3D136/hls_chunk_host/r16—sn-ab5l6ne7.googlevideo.com/gcr/us/playlist_type/DVR/mm/32/mn/sn-ab5l6ne7/ms/lv/mv/u/pl/17/dover/3/fexp/9416126,9416891,9419451,9422596,9423554,9427790,9428193,9428398,9428974,9429011,9431012,9431164,9432683,9433096,9433946,9434343,9434833,9434847,9435186,9435741/upn/UNF1TiBtavY/sver/3/mt/1462544320/ip/64.125.177.124/ipbits/0/expire/1462565936/sparams/ip,ipbits,expire,id,itag,source,requiressl,ratebypass,live,cmbypass,goi,sgoap,sgovp,hls_chunk_host,gcr,playlist_type,mm,mn,ms,mv,pl/signature/67EC57CB964D9D944DE2E1AB40F0E496DA2C73B4.8FBEF1974DF9DB1E614B9C96BA0FF8E52076B04F/key/dg_yt0/playlist/index.m3u8
Теперь, когда у вас есть список воспроизведения HLS, вы можете открыть этот URL в VLC и сохранить его, используя «Запись», или написать небольшую команду ffmpeg:
ffmpeg -i https://manifest.googlevideo.com/api/manifest/hls_playlist/id/6aXR-SL5L2o.1/itag/95/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/cmbypass/yes/goi/160/sgoap/itag%3D140/sgovp/itag%3D136/hls_chunk_host/r16—sn-ab5l6ne7.googlevideo.com/gcr/us/playlist_type/DVR/mm/32/mn/sn-ab5l6ne7/ms/lv/mv/u/pl/17/dover/3/fexp/9416126,9416891,9419451,9422596,9423554,9427790,9428193,9428398,9428974,9429011,9431012,9431164,9432683,9433096,9433946,9434343,9434833,9434847,9435186,9435741/upn/UNF1TiBtavY/sver/3/mt/1462544320/ip/64.125.177.124/ipbits/0/expire/1462565936/sparams/ip,ipbits,expire,id,itag,source,requiressl,ratebypass,live,cmbypass,goi,sgoap,sgovp,hls_chunk_host,gcr,playlist_type,mm,mn,ms,mv,pl/signature/67EC57CB964D9D944DE2E1AB40F0E496DA2C73B4.8FBEF1974DF9DB1E614B9C96BA0FF8E52076B04F/key/dg_yt0/playlist/index.m3u8 -c copy output.ts
user2415822 06 май ’16 в 14:24 2016-05-06 14:24
2016-05-06 14:24
Не нужно ничего передавать ffmpeg Вы можете просто взять нужный формат, в данном примере это был формат «95».
Итак, когда вы знаете, что это 95, вы просто набираете:
youtube-dl -f 95 https://www.youtube.com/watch?v=6aXR-SL5L2o
youtube-dl -f
Он начнет генерировать на рабочем каталоге ..part который является частично загруженным файлом, отпустите его и просто нажмите остановить захват.
Файл по-прежнему будет называться .part переименуйте его в .mp4 и вот оно.
ffmpeg -i $(youtube-dl -f -g ) -copy .ts
также работал для меня, но звук и видео вышли из синхронизации, используя только youtube-dl казалось, дал лучший результат, хотя он тоже использует ffmpeg ,
Недостатком этого подхода является то, что вы не можете смотреть видео во время загрузки, вы можете открыть еще один FF или Chrome, но кажется, что mplayer не могу обработать вывод видео до youtube-dl / ffmpeg бегут.
user7654040 22 апр ’17 в 17:05 2017-04-22 17:05
2017-04-22 17:05
Некоторые веб-сайты с потоковой передачей m3u не могут быть загружены за один youtube-dl шаг, вы можете попробовать что-то вроде этого:
$ URL=https://www.arte.tv/fr/videos/078132-001-A/cosmos-une-odyssee-a-travers-l-univers/ $ youtube-dl -F $URL | grep m3u HLS_XQ_2 m3u8 1280×720 VA-STA, Allemand 2200k HLS_XQ_1 m3u8 1280×720 VF-STF, Français 2200k $ CHOSEN_FORMAT=HLS_XQ_1 $ youtube-dl -F «$(youtube-dl -gf $CHOSEN_FORMAT)» [generic] master: Requesting header [generic] master: Downloading webpage [generic] master: Downloading m3u8 information [info] Available formats for master: format code extension resolution note 61 mp4 audio only 61k , mp4a.40.2 419 mp4 384×216 419k , avc1.66.30, mp4a.40.2 923 mp4 640×360 923k , avc1.77.30, mp4a.40.2 1737 mp4 720×406 1737k , avc1.77.30, mp4a.40.2 2521 mp4 1280×720 2521k , avc1.77.30, mp4a.40.2 (best) $ youtube-dl —hls-prefer-native -f 1737 «$(youtube-dl -gf $CHOSEN_FORMAT $URL)» -o «$(youtube-dl -f $CHOSEN_FORMAT —get-filename $URL)» [generic] master: Requesting header [generic] master: Downloading webpage [generic] master: Downloading m3u8 information [hlsnative] Downloading m3u8 manifest [hlsnative] Total fragments: 257 [download] Destination: Cosmos_une_odyssee_a_travers_l_univers__HLS_XQ_1__078132-001-A.mp4 [download] 0.9% of ~731.27MiB at 624.95KiB/s ETA 13:13 .
user5649639 29 авг ’19 в 23:39 2019-08-29 23:39
2019-08-29 23:39
Я написал небольшой скрипт для загрузки живого видео с YouTube, вы также можете использовать его как одну команду. script его можно вызвать просто как,
~/ytdl_lv.sh
~/ytdl_lv.sh https://www.youtube.com/watch?v=BLIGxsYLyjc myfile.mp4
сценарий так же прост, как показано ниже,
#!/bin/bash # ytdl_lv.sh # Author Prashant # URL=$1 OUTNAME=$2 streamlink —hls-live-restart -o $ $ best
здесь лучшее качество потока, оно также может быть 144p (худшее), 240p, 360p, 480p, 720p (лучшее)
user1862362 14 май ’20 в 20:54 2020-05-14 20:54
2020-05-14 20:54
Раньше его можно было загрузить с помощью streamlink, но YouTube изменил перемотку HLS на DASH. Поэтому способ сделать это ниже (который прокомментировал Прашант Адлиндж) больше не работает для YouTube:
streamlink —hls-live-restart STREAMURL best
user2875887 15 май ’20 в 03:04 2020-05-15 03:04
2020-05-15 03:04
Как скачать прямую трансляцию с YouTube (или любого другого потокового сервиса, точка)
Этот вопрос является хитом №1 в поиске Google по запросу «linux скачать live stream youtube» , поэтому я отвечу здесь, даже если youtube-dl не работает для меня.
Мне действительно все равно, какой инструмент я использую. Я просто хочу, чтобы это работало.
youtube-dl не подходит для меня
Я попробовал ответ №1 , но ничего не вышло. Пример ссылки на прямую трансляцию: https://www.youtube.com/watch?v=VUhQ6zEky0o . Моя попытка и сообщение об ошибке:
$ youtube-dl —list-formats https://www.youtube.com/watch?v=VUhQ6zEky0o [youtube] VUhQ6zEky0o: Downloading webpage [youtube] VUhQ6zEky0o: Downloading video info webpage ERROR: VUhQ6zEky0o: YouTube said: Invalid parameters.
Опять же, вот ошибка сверху:
ОШИБКА:VUhQ6zEky0o: YouTube сказал: недопустимые параметры.
Я попробовал youtube-dl с несколькими ссылками на прямые трансляции, пока они были живы. Ни у кого из них это не сработало. Вместо этого я получил сообщение об ошибке выше.
OBS Studio отлично работает
(здесь приведены инструкции по общей установке и настройке OBS Studio, включая настройку источников видео и звука, а также запись экрана и захват звука)
Итак, я использовал , и он работает! Вот как:
- Установите его. Это кроссплатформенный (Windows, Mac и Linux), очень качественный и хорошо поддерживаемый , с отличными инструкциями по установке. Перейдите по ссылке для установки: OBS Studiohttps://obsproject.com/отлично .
- Это также бесплатно, с открытым исходным кодом и бесплатно (НЕ одно и то же), и то, и другое потрясающе.
- Исходный код: https://github.com/obsproject/obs-studio
- Лицензия GPL v2.0: https://github.com/obsproject/obs-studio/blob/master/COPYING
- Я использую Linux Ubuntu 18.04 и 20.04, поэтому я использовал инструкции Ubuntu здесь: https://obsproject.com/wiki/install-instructions#linux . На момент написания этой статьи они были:
sudo apt install ffmpeg sudo apt install v4l2loopback-dkms sudo add-apt-repository ppa:obsproject/obs-studio sudo apt update sudo apt install obs-studio




home/USERNAME/Videos/OBS ) -> при желании установите флажок «Сгенерировать имя файла без пробела» (я делаю это) -> нажмите «ОК».



Источник: stackru.com