Kilka programów konsolowych, które moim zdaniem warto znać
26.07.2019 | aktual.: 27.07.2019 01:09
Istnieje kilka komend, które są bardzo pożyteczne. Wszystkie są darmowe i otwartoźródłowe ;)
youtube-dl
Youtube-dl jest skryptem służącym do pobierania plików audio/video ze stron internetowych. Potrafi pobierać całe kanały, napisy do filmów i playlisty. Obsługuje wiele stron internetowych, w tym vod.tvp.pl, tvn24 i cda. Zaleca się zainstalowanie ffmpeg lub avconv, ponieważ np. na YouTube video i audio są oddzielnie. Jak zainstalować youtube-dl na Androidzie? Zainstaluj ze sklepu play termux, następnie uruchom apt update && apt install ffmpeg python i pip install youtube-dl. Aby sprawdzić, w którym katalogu aktualnie się znajdujesz, użyj komendy pwd . Aby zapisywać dane na zewnętrznych pamięciach użyj termux-setup-storage i przejdź do storage/external-1 (dane będą na tym danym nośniku w katalogu Android/data/com.termux/files/).
FFmpeg
FFmpeg to kompletne rozwiązanie do odtwarzania, nagrywania, edytowania, konwenterowania i strumieniowania audio/video. Obsługuje długą listę kodeków i działa na platformach x86, amd64, arm, arm64 i mips. Za jego pomocą mając manifest m3u8 telewizji na żywo online byłem w stanie nagrywać telewizję.
Ffmpeg jest bardzo pomocny, gdy np. mam pobraną playlistę mającą ponad 100 filmów i muszę ją przekonwenterować. abym mógł oglądać te filmy na telewizorze.
FFmpeg powinien być skompilowany ze wsparciem dla omx dla systemów arm, w innym wypadku wydajność encoding/decoding video będzie niska.
Programy wchodzące w skład FFmpeg:
ffmpeg - konwenter video, jest w stanie również nagrywać pulpit i obraz z kamery,
ffplay - nieinteraktywny odtwarzacz video. Z jego pomocą możesz zobaczyć, jak wyglądałoby video przetworzone przez ffmpeg, ponieważ ffplay działa tak samo jak ffmpeg tylko nie zapisuje, lecz odtwarza,
ffserver - służy do strumieniowania video. W przyszłości pozostanie porzucony (ffmpeg przejmie jego funkcje)
ffprobe - służy do wyświetlania informacji na tematu pliku/streamu (pełni tę samą funkcję co ffmpeg -i plik.mkv).
Najważniejsze komendy:
-i input, plik wejściowy np -i film.mkv, -i - (aby odczytywał dane z stdin),
-codecs wyświetla dostępne kodeki,
-c wybiera kodek do pliku wyjściowego np -c libmp3lame (mp3) -c:v copy (nie przetwarzaj streamu video, po prostu kopiuj),
-vf użyj filtru video np -vf reverse (film jest od tyłu),
-af użyj filtru audio np -af areverse (dźwięk od tyłu),
-s ustawia rozdzielczość filmu wyjściowego w px np -s 1920x1080,
-r ustawia ilość klatek na sekundę, np. -r 25
Przykładowa komenda, jak nagrać video z kamerki internetowej z dźwiękiem:
ffmpeg -f v4l2 -i /dev/video0 -s 1920x1080 -r 25 -c h264 -f alsa -i hw:0 -f matroska output.mkv
v4l2 jest to video4linux2 (video dla linuksa 2), jest to podsystem linuksa do obsługiwania kamer, a alsa to advanced linux sound architecture służący do obsługi urządzeń audio. Te podsystemy są częścią Linux Kernel (linux może być skompliowany bez wsparcia dla tych podsystemów i tym samym dla wielu urządzeń.
mplayer
mplayer jest interaktywnym odtwarzaczem video. Korzysta z libavcodec. Skompilowany z libdvdcss jest w stanie zgrywać zabezpieczone przed kopiowaniem płyty dvd (opcja dumpstream). Za pomocą klawiszy można łatwo sterować odtwarzaniem filmu. Bardzo szybko opanowałem to sterowanie.
o - On‑Sreen Display, OSD, wyświetla sekundy odtwarzanego filmu, następne wciśnienie wyświetla również ukośnik i całkowitą długość filmu (00:15:02/1:40:00) w formacie HH:MM:SS, następne naciśniecie wyłącza OSD, a następne włącza
[ ] - kwadratowe nawiasy służą sterowaniem prędkością filmu
( ) - głośność
m - mute, wycisz
spacja - pauza
strzałka w prawo/strzałka w lewo - przesuwanie filmu
Mając raspberrypi 3b chciałem odtwarzać filmy, jednak nie mogłem, ponieważ sprzęt nie nadążał. Stąd też moja uwaga. Jeśli chcesz odtwarzać filmy na systemach arm, sprawdź w /proc/cpuinfo, czy procesor wspiera instrukcje neon lub vector floating point (vfp) i skompiluj mplayer'a z opcją --enable-neon (więcej tutaj).
Mplayer jest przeportowany na Windows, jednak nie polecam korzystać z niego, ponieważ jest wadliwy.
qemu
qemu jest menadżerem maszyn wirtualnych o ogromnych możliwościach. Wspiera wiele platform sprzętowych. W skład qemu wchodzą:
qemu-img - służy do tworzenia, edytowania i wirtualnych dysków. Microsoft udostępnił maszyny wirtualne, aby użytkownicy mogli testować Internet Explorer (wtedy był jeszcze dostępny Windows XP do pobrania, pobrałem) i za pomocą qemu-img nagrałem na dysk ten system. Wszystko działało.
qemu-arm - emuluje procesor arm, za pomocą tego programu można uruchomić programy skompilowane dla arm na innej architekturze sprzętowej. qemu-arm to tylko przykład, jest jeszcze kilka innych programów, np. qemu-mips , qemu-x86. Dlatego kiedy Microsoft przedstawił laptop z procesorem arm uruchamiający photoshopa skompilowanego na amd64 nie zrobiło to dla mnie żadnego wrażenia, ponieważ wiedziałem, że to nie jest żadna nowość.
qemu-system-x86_64 - maszyna wirtualna
Przykładowa komenda (Linux)
qemu-system-x86_64 -cdrom /dev/sr0 -hda dysk.raw -m size=4096M -cpu pentium3 -boot d
Podczas uruchomionej maszyny wirtualnej jest aktywny "monitor". Jest to konsola poleceń qemu. Jest możliwość skompilowania Seabios (i skonfigurowania przez make menuconfig), taki ręcznie skompilowany bios może być użyty z qemu (-bios ~/Pobrane/seabios/bin/Seabios.bin)
Dla dystrybucji linuksa dostępny jest virt-manager jako qemu z interfejsem graficznym, a na Androidzie jest dostępny Limbo PC Emulator.
Wszystkie programy opisane tutaj zrobiły na mnie ogromne wrażenie swoimi sporymi możliwościami. Jeśli macie jakieś propozycje, o czym powinienem napisać w następnym wpisie, napiszcie w komentarzu. Następny wpis będzie miał tytuł "Jak zainstalować Windows na RAMdysku" (dzięki Twój_Nick).