Linuxiarze.pl Forum

Oprogramowanie => Inne => Wątek zaczęty przez: Predator w Marzec 04, 2020, 02:23:35 PM

Tytuł: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: Predator w Marzec 04, 2020, 02:23:35 PM
Jest obecny na rynku emulator terminala który ma opcję dodawania na jakąś listę komend z opisem a następnie opcję wyboru tychże komend z automatycznym wpisaniem w wiersz?  Istnieje coś takiego? Może jakiś skrypt do terminala?

Wytłumaczę na przykładzie:
1. kopiuję adres z przeglądarki (link yt)
2. muszę wkleić go do terminala po komendzie: youtube-dl ...

Trochę wnerwia wpisywanie youtube-dl za każdym razem ... zwłaszcza gdy ma się wiele linków do pobrania...
Wnerwia też wpisywanie dalszych instrukcji np. youtube-dl --hls-prefer-native >>link...

Powpisywałby sobie człowiek na jakąś listę ... a potem wedle uznania wybierał z MENU konkrety i ... po robocie...

Jest gdzieś coś takiego?

Jeśli nie ma to przydałoby mi się źródełko nakładki Xfce4-terminal 0.8.9.1...
Może udałoby się dorobić do MENU dodatkowe MENU z komendami których potrzebuję ... z opcją auto wklejania po wyborze
Tytuł: Odp: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: Piotr_1988 w Marzec 04, 2020, 03:24:51 PM
Istnieje historia komend. Do uprzednio wpisanych komend wracasz strzałką do góry na klawiaturze.

Zobacz też pod youtube-dl --help
-a, --batch-file FILE            File containing URLs to download ('-' for stdin), one URL per
                                     line. Lines starting with '#', ';' or ']' are considered as
                                     comments and ignored.
Tytuł: Odp: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: Fibogacci w Marzec 04, 2020, 05:33:43 PM
Cytat: Predator w Marzec 04, 2020, 02:23:35 PM
Jest obecny na rynku emulator terminala który ma opcję dodawania na jakąś listę komend z opisem a następnie opcję wyboru tychże komend z automatycznym wpisaniem w wiersz?  Istnieje coś takiego? Może jakiś skrypt do terminala?

Wytłumaczę na przykładzie:
1. kopiuję adres z przeglądarki (link yt)
2. muszę wkleić go do terminala po komendzie: youtube-dl ...

Trochę wnerwia wpisywanie youtube-dl za każdym razem ... zwłaszcza gdy ma się wiele linków do pobrania...
Wnerwia też wpisywanie dalszych instrukcji np. youtube-dl --hls-prefer-native >>link...

Powpisywałby sobie człowiek na jakąś listę ... a potem wedle uznania wybierał z MENU konkrety i ... po robocie...

Jest gdzieś coś takiego?

Jeśli nie ma to przydałoby mi się źródełko nakładki Xfce4-terminal 0.8.9.1...
Może udałoby się dorobić do MENU dodatkowe MENU z komendami których potrzebuję ... z opcją auto wklejania po wyborze

Jeśli dobrze rozumiem, chciałbyś móc nie wpisywać za każdym razem pełnego polecenia - i w tym przypadku głównie dotyczy to youtube-dl.

Przykładowe rozwiązania ułatwiające różne działania.

1. Możesz dodać sobie alias, np. chcesz pobierać z YouTube filmy, ale od razu w formacie np. 360p.

Do pliku ~/.bashrc dodajesz wtedy np.:

alias y360="youtube-dl -f 18 $1"

wtedy po wpisaniu w terminalu:

y360 <tutaj-link-do-filmu>

od razu zacznie się pobieranie filmu w 360p.

W tym przykładzie zmienna $1 to każdy pierwszy element podawany poleceniu jako argument. Można ją wykorzystać czy to właśnie w aliasie czy w skryptach Bash.

W zależności od potrzeb, dodajesz alias z konkretnymi parametrami.

2. Możesz od razu pobrać wszystkie filmy z danego kanału na YouTube (jeśli jest taka potrzeba). Ja dzisiaj coś takiego robiłem, pobierałem ponad 400 filmów, ale w rozdzielczości 360p - i tak całość zajęła 13 GB.

Przykładowe polecenie:

$ youtube-dl -f 18 -ciw -o "%(title)s-%(id)s.%(ext)s" -v --download-archive downloaded.txt <url-kanalu-bez-tych-nawiasow-ale-z-http-pelny-link>

-f 18 to pobieranie w formacie 360p (aby pobrać w innym formacie i poznać numer tego formatu trzeba wykorzystać polecenie: youtube-dl -F <url-filmu>)

--download-archive downoloaded.txt - pozwala na zapis do pliku tekstowego id pobranych wideo i np. na wznowienie pobierania, jeśli konieczne będzie jego przerwanie.

3. Możesz pobierać pliki z YouTube korzystając z youtube-dl, jeśli linki lub id filmów masz w pliku tekstowym (umieszczone linijka po linijce).

Polecenie:

$ youtube-dl -a nazwa-pliku-z-linkami.txt

---

Co do podstawowego pytania, pewnie taki emulator póki co nie istnieje, natomiast warto nauczyć się tworzenia podstawowych skryptów w Bash, to nie jest takie bardzo trudne, a przydaje się. Co prawda do tej nauki bardzo przydaje się też znajomość języka angielskiego (zarówno do czytania manuali/podręczników dostępnych w systemie jak i stron internetowych z poradami), no ale taki jest ten świat.

Taki skrypt z wyborem aliasów też dałoby się nawet pewnie bez dużego problemu zrobić - tylko trzeba by mieć podstawowe umiejętności i wiedzę.

Przykład prostego skryptu do używania youtube-dl mógłby wyglądać następująco:

---

#!/usr/bin/env bash

# YouTube - pobieranie w rozdzielczości 360p
# Wersja 0.1.0 - 20200304

echo 'Podaj link do filmu YouTube:'
read 'link'

youtube-dl -f 18 $link

---

I tego typu skrypt trzeba by zmodyfikować, dodając opcje wyboru rozdzielczości czy tylko audio, dodawania więcej niż jednego linku czy też np. pobierania playlist czy całego kanału. Jak ktoś ma czas i potrzebę, to sobie może zrobić.

Oczywiście do pobierania plików z YouTube są także programy w GUI.

Ale warto sobie radzić z czystym youtube-dl, wtedy można go używać wszędzie, nawet w takim Termux na telefonie z Androidem (i to się tyczy ogólnie pracy w terminalu, nawet umiejętność korzystania z podstawowych funkcji danego polecenia może się przydać w różnych miejscach do różnych celów).

Jest też dobry program w terminalu do słuchania (i także oglądania/pobierania) plików audio z YouTube - mpsyt (mps-youtube), ale w ostatnich dniach/tygodniach został zablokowany (nie wiem jaki jest stan na dzień dzisiejeszy) - chyba API zostało zablokowane przez YouTube i nie da się korzystać. mpsyt też korzystał z youtube-dl między innymi, ale samo youtube-dl ciągle działa.
Tytuł: Odp: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: pavbaranov w Marzec 04, 2020, 07:04:50 PM
Hmmm... jeśli to ma być do YT, to dlaczego nie chcesz skorzystać z jakiejś innej nakładki na youtube-dl (lub porównywalnego rozwiązania). Są takie, które przechwycą linka do YT i zgrywają.
Tytuł: Odp: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: robson75 w Marzec 04, 2020, 08:51:51 PM
Jeżeli chodzi o pobieranie filmów z YT to warto się zainteresować programem GUI, ClipGrab.

(https://i.postimg.cc/L6PBHfpP/Przechwycenie-obrazu-ekranu-2020-03-04-20-45-31.png)

PS
A jeżeli chcemy pobrać film z linku, to też można

(https://i.postimg.cc/nL01W7Fr/Przechwycenie-obrazu-ekranu-2020-03-09-14-50-19.png)
Tytuł: Odp: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: MSki w Marzec 05, 2020, 09:28:26 AM
Cytat: robson75 w Marzec 04, 2020, 08:51:51 PM
Jeżeli chodzi o pobieranie filmów z YT to warto się zainteresować programem GUI, ClipGrab.
W Firefoksie można zainstalować dodatek
https://addons.mozilla.org/pl/firefox/addon/youtube_downloader_webx/?src=search
który w większości przypadków pozwala na pobranie treści z YT.
Tytuł: Odp: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: LinGruby w Marzec 08, 2020, 02:44:40 PM
podam o wiele prostsze rozwiązanie bez potrzeby korzystania z dodatkowych programów...
podam na przykładzie kanału TechLipton i ostatniego filmu:

wchodzisz na https://invidio.us/watch?v=4exvyaWUgIo i jak pokaże się już film robisz pauze i lewo klik myszką pokaże się menu
wybieramy Otwórz film w nowej karcie po przejściu na nową kartę bez problemów można pobrać film na dysk z opcji menu sterującego ( trzy kropki )

ot cała filozofia, a nie jakiś dodatkowa programy etc. itp.

Tytuł: Odp: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: robson75 w Marzec 08, 2020, 05:47:21 PM
Cytat: LinGruby w Marzec 08, 2020, 02:44:40 PM
podam o wiele prostsze rozwiązanie bez potrzeby korzystania z dodatkowych programów...
podam na przykładzie kanału TechLipton i ostatniego filmu:

wchodzisz na https://invidio.us/watch?v=4exvyaWUgIo i jak pokaże się już film robisz pauze i lewo klik myszką pokaże się menu
wybieramy Otwórz film w nowej karcie po przejściu na nową kartę bez problemów można pobrać film na dysk z opcji menu sterującego ( trzy kropki )

ot cała filozofia, a nie jakiś dodatkowa programy etc. itp.
Nie każdy tak jak Ty korzysta z serwisu invidio, większość w tym ja wolę serwis YT, a ClipGrab zaproponowany przez ze mnie korzysta właśnie z serwisu YT.
Tytuł: Odp: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: LinGruby w Marzec 08, 2020, 10:37:07 PM
Cytat: robson75 w Marzec 08, 2020, 05:47:21 PM

Nie każdy tak jak Ty korzysta z serwisu invidio, większość w tym ja wolę serwis YT, a ClipGrab zaproponowany przez ze mnie korzysta właśnie z serwisu YT.

z całym szacunkiem najpierw kolego dokształć się co to jest invidio.us i nie wypisuje bzdur bo wprowadzasz ludzi w błąd...
https://github.com/omarroth/invidious
zacytuję tylko to:
CytatInvidious is an alternative front-end to YouTube

ot tyle w temacie i dalej twierdze że to prostsze niż jakieś dodatkowe programy...

Tytuł: Odp: Terminal z możliwością zapamiętywania komend na liście. Jest coś takiego?
Wiadomość wysłana przez: robson75 w Marzec 08, 2020, 10:56:20 PM
Cytat: LinGruby w Marzec 08, 2020, 10:37:07 PM
z całym szacunkiem najpierw kolego dokształć się co to jest invidio.us i nie wypisuje bzdur bo wprowadzasz ludzi w błąd...
A niby w czym mam się dokształcać?
Z tego co wiem to te całe invidio jest alternatywą dla YouTube.
A to że Ty z niego korzystasz to Twoja sprawa, ale inni używają YT.