Il sito dedicato all'informatica ideato da Iasparra Francesco

Mencoder: manipolazione dei file multimediali

  • Semplice e veloce codificatore/decodificatore audio e video a linea di comando

  • Data: 02/12/2012 Autore: Iasparra Francesco 


Mencoder (MPlayer’s Movie Encoder, Codificatore di film di MPlayer) è un semplice codificatore di film, progettato per codificare tutti i filmati visualizzabili da MPlayer (vedi sopra) in altri formati sempre visualizzabili da MPlayer (vedi sotto). Codifica il video in formato MPEG-4 (DivX/Xvid), uno qualsiasi dei codec di libavcodec e l’audio in PCM/MP3/VBRMP3 in 1, 2 o 3 passi. Inoltre ha la capacità di copiare direttamente i flussi (stream), un potente sistema di filtri (riduci, espandi, ribalta, post elaborazione, ruota, scala, controllo rumore/disturbo, conversioni RGB/YUV) ed oltre.

Per poter procedere all'installazione di mencoder seguire i seguenti passi:

Scaricare il pacchetto:

http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb

Installarlo:

dpkg -i debian-multimedia-keyring_2008.10.16_all.deb

Modificare il file /etc/apt/source.list aggiungendo:

deb http://www.debian-multimedia.org lenny main

Aggiornare la lista:

apt-get update

Installare la nuova applicazione

apt-get install mencoder

Comandi:

-ovc nome-codec
      Codifica con il codec video specificato (nessun valore di default).
      NOTA: Utilizza -ovc help per avere una lista dei codec video disponibili.

      ESEMPIO:
         -ovc copy
              niente codifica, solo copia del flusso
         -ovc raw
              Codifica su un formato grezzo non compresso arbitrario (usa ’-fv format’ per selezionare come).
         -ovc lavc
              Codifica con un codec di libavcodec.


-oac nome-codec
      Codifica con il codec audio specificato (nessun valore di default).
      NOTA: Utilizza -oac help per avere una lista dei codec audio disponibili.

      ESEMPIO:
         -oac copy
              niente codifica, solo copia del flusso byte per byte
         -oac pcm
              Codifica in formato PCM non compresso.
         -oac mp3lame
              Codifica in MP3 (usando LAME).
         -oac lavc
              Codifica con un codec di libavcodec.

-of formato (CODICE BETA!)
      Codifica nel formato file ’contenitore’ specificato (default: AVI).
      NOTA Utilizza -of help per avere una lista dei formati disponibili.

      ESEMPIO:
         -of avi
              Codifica in formato AVI.
         -of mpeg
              Codifica in formato MPEG (vedi anche -mpegopts).
         -of lavf
              Codifica con i muxer di libavformat (vedi anche -lavfopts).
         -of rawvideo
              flusso grezzo video (nessun multiplex - un solo flusso video)
         -of rawaudio
              flusso grezzo audio (nessun multiplex - un solo flusso audio)

-nosound
      Non riproduce/codifica il suono.  Utile per le prove di velocità (benchmark).

-novideo
      Non riproduce/codifica il video.  Im molti casi questo non funziona, usa -vc null -vo null al suo posto

rotate[=<0-7>]
      Ruota l’immagine di 90 gradi e la ribalta opzionalmente.  Con valori da 4-7 la rotazione viene eseguita solo se la geometria
      del film è ritratto (portrait) e non paesaggio (landscape).

         0    Ruota di 90 gradi in senso orario e ribalta (default).

         1    Ruota di 90 gradi in senso orario.

         2    Ruota di 90 gradi in senso antiorario.

         3    Ruota di 90 gradi in senso antiorario e ribalta.

Esempio:

Registrazione da DVD:

mencoder  -oac mp3lame -lameopts cbr:br=128 -alang it -chapter 1-0 -ovc xvid -xvidencopts bitrate=800 -chapter 1-0 -mc 3 -o film.avi dvd://1 
        * dvd://1, il capitolo 1 del DVD
        * -aid 129, la lingua dell’audio che si vuole estrarre
        * -dvdangle 1, per l’angolatura
        * -chapter 1-0, per estrarre tutti i capitoli
        * -ovc copy -oac copy, per copiare le parti video e audio decryptati
        * -o video.avi, salva il tutto in questo file

Registrazione da WebCam:

mencoder tv:// -tv driver=v4l2:width=320:height=240:device=/dev/video0:forceaudio:adevice=/dev/snd/pcmC0D0c -ovc lavc -oac mp3lame -lameopts cbr:br=64:mode=3 -o webcam.avi

Registrazione fino ad un tempo prestabilito:

-endpos 56
     Si ferma a 56 secondi.
-endpos 01:10:00
     Si ferma a 1 ora e 10 minuti.
-ss 10 -endpos 56
     Si ferma a 1 minuto e 6 secondi.
-endpos 100mb
     Codifica solo 100 MB.

Split di un video in due parti:

mencoder -endpos 01:00:00 -ovc copy -oac copy movie.avi -o first_half.avi
mencoder -ss 01:00:00 -oac copy -ovc copy movie.avi -o second_half.avi

Ridimensionare un video:

-vf scale=320:288

Togliere le bande nere del filmato:

mplayer dvd://1 -vf cropdetect

questo comando vi permette di conoscere i parametri per poter eliminare le bande nere del film.
Per verificare la validita dei valori ottenuti potete dare:

mplayer dvd://1 -vf crop=valori_calcolati -vf crop=720:576:0:0,scale=640:352 

la dimensione del filmato di uscita sarà 640:352 (altezza e larghezza multipli di 16) e al filamato verrano tolte le bande nere.

Arrestare la copia in un punto e riprenderla successivamente:

interrombe a 1 ora e 15 min:
mencoder -oac copy -o temp1.avi -ovc copy -endpos 01:15:00 temp.avi
riprende a 1 ora e 15 min:
mencoder -oac copy -o temp2.avi -ovc copy -ss 01:15:00 temp.avi

Estrapolazione traccia audio:

mencoder -oac copy -ovc frameno -o audio.wav  video.mp4

-ovc frameno   ovc significa output video codec, e sta ad indicare il codec video usato. 
               In questo caso frameno e' un codec fittizio e serve 
               solo a dire a mencoder che stiamo estraendo l'audio. 

Per convertirlo in mp3:

mencoder -oac mp3lame -lameopts cbr:br=128 -ovc frameno -o audio.mp3 video.mp4

Concatenare i video:

mencoder -ovc copy -oac copy 001.avi 002.avi 003.avi -o output.avi

Sostituzione traccia audio:

rimuovere la vecchia traccia:
	
mencoder -ovc copy -nosound video.avi -o video_nosound.avi
aggiungere la nuova traccia:
	
mencoder -ovc copy -audiofile soundtrack.mp3 -oac copy video_nosound.avi -o video_new.avi

Conversione da mp4 a avi:

mencoder "film.mp4" -o /tmp/new_video.avi -ovc xvid -xvidencopts pass=2:chroma_opt:vhq=4:max_bframes=1:quant_type=mpeg:bitrate=1000:threads=6

  • Java

  • Php

  • Mysql

  • Apache ant

  • Eclipse

  • Spring

  • Hibernate

  • Netbeans

  • Debian

  • Linux

  • Maven