Linux - это интересно!
Вы не вошли.
Страницы 1
Чуть подробнее:
с помощью youtube-dl -g , получаю 2 прямые ссылки на видео и аудио, нужно скормить их плееру vlc.
Как это сделать через GUI = я знаю, НО мне нужно именно из терминала.
MPV не предлагайте - всё работает, только нужно ставить youtube-dl с github.com
потому что в репах (дебьяна,бубунты и минта) их ещё так и не обновили
Для vlc я пользовал скрипт ~/.local/share/vlc/lua/playlist/youtube.lua
но недавно на ютуб опять перепилили API, поэтому со старым скриптом не прокатывает, с и с ним , можно было смотреть только 720p
Поэтому мне интересно как это сделать в vlc + youtube-dl ?
Решение:
Вот рабочий скрипт, как нибудь его обзываем,делаем исполняемым,в браузере, через дополнение Open With запускаем его на странице youtube (в качестве аргумента, он принимает ссылку на видео)
MP4 AVC при 60 кадрах вообще не грузит CPU ,
WEBP VP9 , видюха обрабатывать не умеет , поэтому 60-90% CPU ,
даже 2560x1440 30Hz - показывает, а 2560x1440 60Hz уже не вывозит,
но у меня монитор всего 2560x1080 60Hz , поэтому 1440 - это уже лишнее
#!/bin/bash
### Вариант с логированием просмотренного: ### дата_время ,название, ссылка youtube .
IFS=$'\n' x=($(youtube-dl -f "(bestvideo[height<=1440]/bestvideo[height<=1080][fps<=30])+bestaudio/best" -eg $(echo "$@" | cut -d'&' -f1) )) &&
echo -e "### $(date +%Y.%m.%d_%H:%M:%S)\n## ${x[0]}\n$@\n" >> $HOME/Videos/yt.log &&
vlc --meta-title "${x[0]}" "${x[1]}" --input-slave "${x[2]}"
### Ещё вариант
#youtube-dl -f "bestvideo[height<=1080]+bestaudio/best" --get-filename -o '"%(title)s"' -g $@ |
#awk 'BEGIN{FS=RS;RS=""}{print $1" --input-slave "$2" --meta-title "$3}' | xargs vlc
### Ещё вариант
#readarray -t x <<< $(youtube-dl -f "bestvideo+bestaudio/best" -eg "$@" ) &&
#vlc --meta-title "${x[0]}" "${x[1]}" --input-slave "${x[2]}"
Отредактировано svm (07-06-2021 16:15:25)
Умный поймёт , а дураку и так всё равно.
Вне форума
@svm,
если ссылаться на документацию, то можно подсмотреть нужные параметры, открыв Инстументы>Сообщения и выставив уровень verbosity в 2
@svm,
всё проще, чем писал выше: vlc 'VIDEO_DIRECT_LINK' --input-slave 'AUDIO_DIRECT_LINK'
@svm,
всё проще, чем писал выше: vlc 'VIDEO_DIRECT_LINK' --input-slave 'AUDIO_DIRECT_LINK'
Большое спасибо тебе .
Спрашивал и на тостере и на лоре,
все начинают советовать MPV
Я им - вы вопрос то хоть читали ? там всё русским по белому (вопрос именно про VLC + проставлены тэги cvlc,vlc)
или...
ps
У меня ума не хватило открыть расширенный help vlc -H
Я же открывал vlc --help , поэтому не увидел, а если бы и увидел, то не факт, что сообразил бы для чего эта опция
Отредактировано svm (31-05-2021 08:34:58)
Умный поймёт , а дураку и так всё равно.
Вне форума
как вариант, можно не ставить расширений, а скармливать выделенную ссылку через xclip -o
повесил на хоткей скрипт, полностью приводить не буду, потому что не vlc
$(xclip -o -selection clipboard)"
Долой DE! Даёшь WM!
Вне форума
...
Помоги пожалуйста разобраться с выбором форматов в youtube-dl
Не получается чтобы с одним скриптом открывалось любое видео.
Нужно видео не больше 1080 + не больше 30fps + лучшее аудио.
К примеру: вот три ссылки, на видео разного качества, 1-я из них не хотит работать .ЧЯДНТ?
https://www.youtube.com/watch?v=VtWIn7ch708
https://www.youtube.com/watch?v=0YONAP39jVE
https://www.youtube.com/watch?v=jP3ceURvIYc
код скрипта vlc++
#!/bin/bash
IFS=$'\n' x=($(youtube-dl -f "bestvideo[ext=mp4][height<=1080][fps<=30]+bestaudio/best" -eg $@)) && vlc --meta-title "${x[0]}" "${x[1]}" --input-slave "${x[2]}"
Отредактировано svm (03-06-2021 15:45:32)
Умный поймёт , а дураку и так всё равно.
Вне форума
@svm,
У меня завелись все три указанные видео этим же скриптом.
Правда первое видео лагает на первых минутах.
Версия vlc - 3.0.13.
> mp4 demux: Fragment sequence discontinuity detected 1 != 0
это проблема плеера, а не ссылок ( не даром во всех интернетах советуют mpv )
Такое его поведение у себя наблюдаю после неудачных обновлений, помогает откат на предыдущую версию.
...
Спасибо.
Сбросил конфиги VLC , я их уже давно не менял, бог знает, что я там успел понакрутить))
Стало луше.
Скрипт поправил
Ещё есть подобный вариант на AWK
#!/bin/bash
#IFS=$'\n' x=($(youtube-dl -f "bestvideo[height<=1080]+bestaudio/best" -eg "$@" )) && vlc --meta-title "${x[0]}" "${x[1]}" --input-slave "${x[2]}"
youtube-dl -f "bestvideo[ext=mp4][height<=1080]+bestaudio/best" -eg "$@" | awk 'BEGIN{FS=RS;RS=""}{print $2" --input-slave "$3" --meta-title \""$1"\"" }' | xargs vlc
Отредактировано svm (06-06-2021 15:54:06)
Умный поймёт , а дураку и так всё равно.
Вне форума
@svm,
дабы использовать сторонних утилит по минимуму, можно сделать так:
readarray -t yt_response <<< "$(youtube-dl <нужные опции>)"
vlc --meta-title "${yt_response[0]}" "${yt_response[1]}" --input-slave "{yt_response[2]}"
...
можно и так, но забыл/исправь ${yt_response[2]}
как по мне, 1-вый вариант проще/читаемей (я им и пользуюсь, а с awk и твой, оставил в скрипте как пример(может пригодиться ещё где нибудь)
Умный поймёт , а дураку и так всё равно.
Вне форума
да, пропустил '$', но исправить не могу, я не зарегестрирован
как вариант, можно не ставить расширений, а скармливать выделенную ссылку через xclip -o
Не удобно - много лишних/ненужных телодвижений ))
Проще в два клика из контекстного меню открывать.
Умный поймёт , а дураку и так всё равно.
Вне форума
@svm, скопировать ссылку и хоткей.
Долой DE! Даёшь WM!
Вне форума
Страницы 1
[ Сгенерировано за 0.019 сек, 8 запросов выполнено - Использовано памяти: 1.68 Мбайт (Пик: 1.77 Мбайт) ]