Multimedia con il Terminale Gestire file audio con sox e cmus Gestire file video con ffmpeg Leggere i DVD criptati Streaming con ffserver Alcune curiosità del terminale
Riprodurre i dvd protetti Con il comando sottostante installiamo vari pacchetti per l’elaborazione di file audio e video non inclusi nella iso della distribuzione per problemi di licenze così da avere un supporto multimediale completo sudo apt install ubuntu-restricted-extras Per il supporto alla riproduzione di dvd protetti sudo apt install libdvd-pkg sudo dpkg-reconfigure libdvd-pkg
Riprodurre musica dal terminale Usiamo il software SOX, Che riproduce molti formati musicali sudo apt install sox libsox-fmt-all libsox-fmt-all permette il supporto del formato proprietario mp3 Per riprodurre musica basta andare nella cartella dove è salvata Per esempio cd Musica play *.mp3
Altro sul comando play Possiamo aggiungere effetti e filtri alla nostra musica bass (aggiungere un effetto che accentua i bassi) play *.mp3 bass +3 gain (Aumentare il volume della musica) play *.mp3 gain +1 reverb (Aggiungere il riverbero) play *.mp3 reverb
Altro su Sox Sox ci permette anche di convertire un file audio da un formato a un altro sox audio1.flac audio1.mp3 Possiamo unire più file insieme sox audio1.flac audio2.flac audiorisultato.flac Possiamo anche registrare l’audio del microfono del nostro computer con rec audio.mp3 Il file verrà salvato in audio.mp3 E potrà essere riprodotto Con play audio.mp3 Il programma grafico che usa sox è audacity che si installa usando il comando sudo apt install audacity
CMUS Una visualizzazione grafica per la riproduzione della musica Si installa con il comando sudo apt install cmus :add per aggiungere una cartella dove trovare i file musicali
FFMPEG – gestire file audio e video sudo apt install ffmpeg Esempio convertiamo un file avi in mp4 ffmpeg -i file.mp4 -acodec copy -vcodec copy file.avi Convertiamo tutti i file avi di una cartella in mp4 for i in *.mp4; do ffmpeg -i "$i" -acodec copy -vcodec copy "$i.avi"; done
Montaggio di un video in FFMPEG Prendere i primi 3 minuti di un video input.avi e creare un nuovo file output.avi ffmpeg -i input.avi -ss 00:00:00 -t 00:03:00 -acodec copy - vcodec copy output.avi Concatenare più file video in uno Creiamo un file list.txt con la lista dei file da concatenare file 'prova.mp4' file 'prova2.mp4' file 'prova3.mp4' ffmpeg -f concat -i list.txt -c copy output.mp4 Verrà creato un file output.mp4 che unirà i 3 file video in sequenza
Streaming con ffserver ffserver viene installato di default con l’installazione di ffmpeg E’ uno strumento potente per creare un server di streaming sia per audio che per video. Si può creare un feed che riceve in input un flusso audio o video o entrambi. Si crea poi uno stream che elabora il feed e lo rende disponibile tramite un url a tutti i client che ne fanno richiesta Per creare uno streaming di un file (audio o video) ffserver -f /etc/ffserver.conf & ffmpeg -i percorso_del_file http://localhost:8090/feed1.ffm Per stoppare lo streaming di un file sudo fuser -k 8090/tcp
Esempio di file ffserver.conf Port 8090 #Porta del server di streaming BindAddress 0.0.0.0 MaxHTTPConnections 2000 MaxClients 1000 MaxBandwidth 10000 Banda massina per client CustomLog - NoDaemon # Remove this if you want FFserver to daemonize after start <Feed feed1.ffm> Creare un feed, che ricevera il flusso in input (un file video, un file audio, la webcam) File ./feed1.ffm # nome del feed FileMaxSize 1G # dimensione massima del feed che conterrà tutti gli streaming effettuati ACL allow 127.0.0.1 # permetti solo localhost </Feed>
Continua il file ffserver.conf <Stream test.webm> Feed feed1.ffm Format webm AudioBitRate 64 AudioSampleRate 48000 AudioChannels 1 VideoCodec libvpx AudioCodec libvorbis VideoSize 720x576 # Video resolution VideoFrameRate 25 AVOptionVideo flags +global_header AVOptionVideo quality good AVOptionAudio flags +global_header StartSendOnKey VideoBitRate 400 # Video bitrate PreRoll 15 </Stream>
Fine del file ffserver.conf <Stream status.html> La pagina principale del server di streaming Format status # Only allow local people to get the status ACL allow localhost ACL allow 192.168.0.0 192.168.255.255 </Stream> <Redirect index.html> # Just an URL redirect for index # Redirect index.html to the appropriate site URL http://www.ffmpeg.org/ </Redirect>
Altri utilizzi di ffserver Streaming del nostro desktop ffmpeg -f x11grab -r 25 -s 720x576 -i :0.0 -f alsa -i pulse http://localhost:8090/feed1.ffm -i :0.0 va sostituito con :1.0 secondo quanto restituito dal comando echo $DISPLAY Con -s stabiliamo la risoluzione, questa deve essere uguale a quella impostata nello stream webm, altrimenti se ne impostiamo una superiore il video risulterà molto compresso Streaming della webcam ffmpeg -f video4linux2 -s 720x576 -r 25 -i /dev/video0 -f alsa -i pulse http://localhost:8090/feed1.ffm
Rivedere la registrazione Spostandoci nella directory dove abbiamo avviato ffserver troveremo un file feed1.ffm vlc feed1.ffm Se non già installato si installa sudo apt install vlc
ffprobe Anche questo è installato automaticamente con l’installazione di ffmpeg Possiamo recuperare tutte le informazioni di un file multimediale Per esempio ffprobe file.mp4
Vedere film in Ascii sudo apt install mplayer mplayer -vo caca file.mp4 Qui potete vedere un esempio
Facciamo parlare il terminale sudo apt install espeak espeak -v italian "Con il trattore in tangenziale andiamo a comandare"
La mucca che dice (Easter Eggs) sudo apt install cowsay cowsay -f hellokitty Linux è fantastico cowsay -d Linux è fantastico (mucca morta) cowsay -p Linux è fantastico (mucca paralizzata) cowthink Linux è fantastico (mucca che pensa) apt moo disegno di una mucca che dice se avete muggito oggi telnet towel.blinkenlights.nl (la versione da terminale in ascii di Guerre Stellari) sudo apt install oneko oneko & //mostra un gatto oneko -dog & //mostra un cane Il cane cercherà di prendere il gatto Per liberarsi del gatto occorre sudo kill all oneko -dog