как вариант, можно не ставить расширений, а скармливать выделенную ссылку через xclip -o
Не удобно - много лишних/ненужных телодвижений ))
Проще в два клика из контекстного меню открывать.
...
можно и так, но забыл/исправь ${yt_response[2]}
как по мне, 1-вый вариант проще/читаемей (я им и пользуюсь, а с awk и твой, оставил в скрипте как пример(может пригодиться ещё где нибудь)
readarray -t yt_response <<< "$(youtube-dl <нужные опции>)"
vlc --meta-title "${yt_response[0]}" "${yt_response[1]}" --input-slave "{yt_response[2]}"
...
Спасибо.
Сбросил конфиги 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
...
Помоги пожалуйста разобраться с выбором форматов в 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,
всё проще, чем писал выше: vlc 'VIDEO_DIRECT_LINK' --input-slave 'AUDIO_DIRECT_LINK'
Большое спасибо тебе .
Спрашивал и на тостере и на лоре,
все начинают советовать MPV
Я им - вы вопрос то хоть читали ? там всё русским по белому (вопрос именно про VLC + проставлены тэги cvlc,vlc)
или...
ps
У меня ума не хватило открыть расширенный help vlc -H
Я же открывал vlc --help , поэтому не увидел, а если бы и увидел, то не факт, что сообразил бы для чего эта опция
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]}"