Dimensione: 20536
Commento:
|
Dimensione: 20533
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 212: | Linea 212: |
Se si preferisce usare una gui per la codifica video, è possibile usare thinliquidfilm. thinliquidfilm è una interfaccia grafica per ffmpeg, specificamente concepita per la codifica di video in formato compatibile con iPod Video. È possibile scaricarla '''[http://thinliquidfilm.org qui]'''. È richiesto ffmpeg compilato come precedentemente descritto e [apt://python-qt3 python-qt3] se si sta usando '''Gnome''', altrimenti pyqt che viene installato come parte del pacchetto '''kubuntu-desktop'''. Vi sono altre dipendenze non essenziali per il caricamento sull'iPod (vedere [[iPodVideoTransferring|Guide to Transferring Video to the iPod Video]] per maggiori dettagli) è richiesto mplayer per vedere l'anteprima del video in conversione. | Se si preferisce usare una gui per la codifica video, è possibile usare thinliquidfilm. thinliquidfilm è una interfaccia grafica per ffmpeg, specificamente concepita per la codifica di video in formato compatibile con iPod Video. È possibile scaricarla '''[http://thinliquidfilm.org qui]'''. È richiesto ffmpeg compilato come precedentemente descritto e [apt://python-qt3 python-qt3] se si sta usando '''Gnome''', altrimenti pyqt che viene installato come parte del pacchetto '''kubuntu-desktop''', '''[apt://python-gpod python-gpod]''' per il caricamento sull'iPod (vedere [[iPodVideoTransferring|Guide to Transferring Video to the iPod Video]] per maggiori dettagli) è richiesto mplayer per vedere l'anteprima del video in conversione. |
BR Indice(depth=2 align=right)
Codifica video per iPod Video
Questa è una guida alla codifica in un formato video utilizzabile sugli iPod di 5° generazione, cioè gli iPod Video. Questo formato è compatibile anche con gli iPod di 6° generazione, gli iPhone, Apple TV e il riproduttore Quicktime per iTunes.I seguenti metodi sono stati testati con successo su varie versioni di Ubuntu. È richiesta l'aggiunta di nuovi archivi (per Ubuntu Feisty o più recenti) oppure la ricompilazione del ffmpeg di sistema per versioni antecedenti Feisty, si ricorda anche che le modifiche al sistema contenute in questa guida non sono ufficialmente supportate da Canonical.
Se sono necessarie ulteriori informazioni, consultare accuratamente la pagina iPod Video wiki page, così come Guide to Transferring Video to the iPod Video.
Siccome per la codifica dei video nel formato richiesto da iPod Video è necessaria la ricompilazione di ffmpeg, in modo che abbia la dovuta configurazione, in questa guida verrà spiegato come compilare, installare ed utilizzare ffmpeg correttamente.
Comunque è anche possibile scegliere uno strumento che faccia tutto ciò automaticamente. Eccone alcuni esempi:
Metodo mvPod (GUI su mencoder)
Questo nuovo metodo consente di convertire facilmente qualsiasi video in un formato iPod compatibile. Utilizzando la popolare applicazione mencoder per codificare e visualizzare tutte le informazioni, mvPod vuole essere un punto di riferimento per una facile codifica video.
Alcune caratteristiche di mvPod.
- Facile selezione del video da convertire e del file prodotto.
- Facile selezione dele opzioni di codifica con profili predefiniti.
- iPod H264
- iPod Xvid
- Selezione del flusso audio quando si codificano DVD o file video.
- Fornisce dettagliate informazioni sui video da convertire.
- Anteprima dei video.
- Gestisce video multipli (processo Batch).
- Cidifica diretta dei DVD video.
- Selezione della risoluzione del video (640x480, 320x240).
- Possibilità di cambiare il bitrate audio e video.
[http://mvpod.sourceforge.net/ Sito web ufficiale di mvPod]
Per l'esecuzione di questo programma è necessario installare le librerie [apt://gpac gpac]:
sudo aptitude install gpac
Metodo di Mark Pilgrim basato su mencoder
Questo script al contrario di altri, non usa ffmpeg, consentendo così di bypassare la problematica degli altri metodi che richiedono l'aggiunta di nuovi repository o addirittura la ricompilazione di ffmpeg. mencoder garantisce anche migliori risultati con formati proprietari quali WMV, Real Video, ed altri avantaggiandosi dell'uso di w32codecs. Come pypodconv, illustrato più avanti, consente di usare il codec video ad alta qualità H.264.
sudo aptitude install lsdvd mplayer gpac zenity mencoder sudo wget http://diveintomark.org/public/2007/06/podencoder.txt -O /usr/local/bin/podencoder sudo chmod +x /usr/local/bin/podencoder podencoder foo.mpg podencoder foo.avi podencoder foo.wmv podencoder podencoder --help
Compilazione di ffmpeg su Ubuntu
A partire dalla versione di Ubuntu 7.04 Feisty Fawn, ffmpeg nel repository Medibuntu contiene un ffmpeg "sbloccato". Abilitare il repository [http://wiki.ubuntu-it.org/Repository/NonUfficiali/Medibuntu Medibuntu] e saltare la seguente sezione.
Gli utenti di Edgy o Dapper, devono seguire queste istruzioni:
A causa di una litania di questioni legali, ffmpeg non viene fornito con tutti gli strumenti necessari alla codifica video per iPod Video. Ciò rende necessaria la compilazione da sorgente e l'installazione di altre librerie e programmi. Assicurarsi di avere abilitato i repository multiverse ed universe. Ci scusiamo se questa procedura necessaria può sembrare intimidatoria. Io, (johnDong) sto attualmente lavorando con Medibuntu per avere nel repository un pacchetto pronto all'uso da installare tramite APT.
Nel terminale, eseguire:
sudo apt-get build-dep ffmpeg sudo apt-get install ffmpeg sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev
Solamente per architetture a 64-bit (AMD64): È necessario forzare ffmpeg a linkare contro la versione PIC di ffmpeg. Lanciare il seguente comando:
sudo cp /usr/lib/libx264_pic.a /usr/lib/libx264.a
Per tutte le architetture: continuare con i seguente comandi:
apt-get source ffmpeg cd ffmpeg-*/ ./configure --enable-gpl --enable-pp --enable-pthreads \ --enable-libogg --enable-a52 --enable-dts \ --enable-dc1394 --enable-libgsm --disable-debug --enable-mp3lame \ --enable-faad --enable-faac --enable-xvid --enable-x264 make sudo make install Se si sta usando il sorgente di FFMPEG preleveto dai repository di Edgy, saltare il resto di questo blocco di istruzioni. Se si sta usando il sorgente di FFMPEG preleveto da un recente SVN (20070331), le opzioni di configurazione sono cambiate. Utilizzare queste linee in sostituzione delle precedenti e continuare con il comando make: ./configure --enable-gpl --enable-pp --enable-pthreads \ --enable-libogg --enable-liba52 --enable-libdts \ --enable-dc1394 --enable-libgsm --disable-debug --enable-libmp3lame \ --enable-libfaad --enable-libfaac --enable-xvid --enable-x264
L'installazione di ffmpeg prima del lancio di sudo make install consente una minor intrusività come checkinstall dato che sovrascriverà solamente i file posseduti da ffmpeg senza modificare il modo in cui la struttura del pacchetto è registrata in dpkg.
Solamente per architetture a 64-bit (AMD64): Ripristinare la modifica fatta in precedenza sul sistema:
sudo apt-get install --reinstall libx264-dev
Script 1: pypodconv
Questo nuovo script in python (03/2007) contiene tutte le funzionalità sottocitate. Per il suo corretto funzionamento sono richesti ffmpeg e [apt://gpac gpac]. Senza il pacchetto gpac la codifica fallirà esattamente al termine, vanificando così ore di lavoro. Di seguito viene proposta una "schermata":
jdong@severance:~/src/pypodconv$ pypodconv Usage: pypodconv [options] Options: -h, --help show this help message and exit -i INPUT, --input=INPUT Source file to encode --sd, --320, --standard-definition Encode to Standard Definition (that is, 320xNNN, native iPod screen resolution) [DEFAULT] --hd, --640, --high-definition Encode to High Definition (that is, 640xNNN, maximum iPod-supported resolution -c CODEC, --codec=CODEC Video Codec: h264 [DEFAULT], xvid, or mpeg4. -o OUTPUT, --output=OUTPUT Output file, with file extension. -b VBITRATE, --vbitrate=VBITRATE Video Bitrate, in kbit/s. (default: 200) -p PASSES, --passes=PASSES Number of passes. (Default: 2)
Per l'installazione, scaricare [http://web.mit.edu/~jdong/www/pypodconv/pypodconv pypodconv], salvarlo nella directory /tmp ed eseguire nel terminale:
sudo apt-get install gpac sudo mv /tmp/pypodconv /usr/local/bin/pypodconv sudo chmod +x /usr/local/bin/pypodconv
Per Gutsy e ffmpeg SVN, utilizzare [http://web.mit.edu/~jdong/www/pypodconv.ffmpegsvn/pypodconv questo pypodconv].
L'operazione basilare è::
pypodconv -i INPUT_FILE -o OUTPUT_FILE
Questo, in maniera predefinita, creerà un vodeo 200kbit/s 320xNNN 2-pass H.264, adatto alla visualizzazione su iPod. La stampata di help è utile per la configurazione di altri metodi dì utilizzo. Per esempio se si vuole una codifica ad alta definizione da 500Kbit/s:
pypodconv -i INPUT_FILE -o OUTPUT_FILE --hd -b 500
Script 2: ipodvidenc
Un'altro script per la conversione dei video in formato iPod Video. In un terminale digitare:
gedit
Si aprirà un nuovo documento nel quale copiare il seguente codice:
## ipodvidenc - The iPod Video Encoder for Linux. ## Created by Eric Hewitt, January 9, 2006. ## Released under the GPL. Go nuts. input_file=$1 echo "Inserire il nome del file codificato (senza estensione) " read output_file_name echo "$output_file_name sarà salvato in $PWD. Proseguire? [y/n]" read output_file_loc_permis if [ $output_file_loc_permis = 'n' ] || [ $output_file_loc_permis = 'N' ] then echo "Indicare dove salvare $output_file_name.mov:" read output_dir else output_dir=$PWD fi ffmpeg -i ${input_file} -f mp4 -vcodec mpeg4 -maxrate 1000k -b 700k -qmin 3 -qmax 5 -bufsize 4096k -g 300 -acodec aac -ab 192k -s 320x240 -aspect 4:3 ${output_dir}/${output_file_name}.mov
Salvarlo, ad esempio, nella cartella Home con il nome ipodvidenc, quindi nel terminale, eseguire:
chmod 755 ipodvidenc sudo mv ipodvidenc /usr/bin
Quindi per convertire il video in un formato valido per iPod Video, eseguire il comando:
ipodvidenc video.avi
Dopo alcune domande, inizierà la codifica e restituirà il file nel formato corretto.
Questo metodo funziona anche con file .vob grezzi, il che significa che non è necessaria la transcodifica dei DVD.
Un'alternativa con interfaccia grafica - thinliquidfilm
Se si preferisce usare una gui per la codifica video, è possibile usare thinliquidfilm. thinliquidfilm è una interfaccia grafica per ffmpeg, specificamente concepita per la codifica di video in formato compatibile con iPod Video. È possibile scaricarla [http://thinliquidfilm.org qui]. È richiesto ffmpeg compilato come precedentemente descritto e [apt://python-qt3 python-qt3] se si sta usando Gnome, altrimenti pyqt che viene installato come parte del pacchetto kubuntu-desktop, [apt://python-gpod python-gpod] per il caricamento sull'iPod (vedere Guide to Transferring Video to the iPod Video per maggiori dettagli) è richiesto mplayer per vedere l'anteprima del video in conversione.
Caratteristiche di [http://thinliquidfilm.org thinliquidfilm]:
- Processo Batch per qualsiasi numero di file;
- Visualizzazione di informazioni dettagliate sul video sorgente;
- Cambio delle impostazioni di produzione per uno o più file;
- Salvataggio delle impostazioni predefinite per future sessioni;
- Impostazioni della qualità del file prodotto;
- Scelta tra mpeg4 e h264 quale codec per il video da produrre;
- Scelta fra 320 e 640 quale ampiezza del video da produrre, mantenedo però la stessa proporzione altezza/larghezza;
- Scelta tra 1 o 2 passaggi di codifica;
- Anteprima del risultato prima della codifica;
- Barra progresso che visualizza lo stato della codifica;
- Utilizzo di ffmpeg quale motore di codifica;
- Caricamento diretto dei file codificati sull'iPod;
- Impostazione del file informativo per il caricamento sull'iPod;
- Aggiunta di file ad una nuova o preesistente scaletta sull'iPod;
- Aggiunta di video precodificati alla lista dei trasferimenti sull'iPod;
- Aggiunta di file da codificare tramite l'incluso menu di servizio.
L'installazione è molto semplice, basta utilizzare l'allegato script d'installazione. Sul [http://thinliquidfilm.org sito web] è reperibile la documentazione sull'installazione e l'utilizzo di thinliquidfilm.
Utilizzo di ffmpeg
Se si necessita di un maggior controllo di quello offerto da ipodvidenc o thinliquidfilm gives, é possibile usare il comando di ffmpeg, dovutamente impostato:
ffmpeg -i input_file.avi -f mp4 -vcodec mpeg4 -maxrate 1000k -b 700k -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec libfaac -ab 192k -s 320x240 -aspect 4:3 output_file.mov
Il risultato è il formato video a 700kbit MPEG-4 ASP (es. "xvid") utilizzando la codifica mpeg4 di ffmpeg. In alternativa è possibile usare il codec xvid che fornisce una compressione lievemente migliore, per lo stesso bitrate, del succitato comando ma è leggermente più lento. per fare ciò basta sostituire mpeg4 con xvid. A partire dal Firmware 1.2, è possibile innalzare -maxrate e -b a 2500, e la risoluzione a(-s) a 640x480. È anche necessario innalzare il bitrate a 1000 Kbit/s per ottenere una buona resa del video mpeg4-ASP in formato 640x480.
Codifica H.264
H.264 (MPEG-4 AVC) è un nuovo codec supportato da iPod. È in grado di rendere una qualità simile a quella di MPEG4-ASP con la metà del bitrate. Comunque è estremamente lento ed impegna molto la CPU, ed il risultato sarà un file 5 volte più grande di un mpeg4 o di un xvid. È anche necessario che ffmpeg sia stato compilato con il supporto per x264.
Data l'enorme velocità di scambi, è molto più pratico il suo utilizzo per file ad alta definizione destinati ad un uso su TV o computer. Questo è il comando per ottenere una codifica a 500kbit 640x480 H.264:
ffmpeg -y -i input_file.avi -an -v 1 -threads auto -vcodec h264 -b 500 -bt 175 -refs 1 -loop 1 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -me full -subq 1 -me_range 21 -chroma 1 -slice 2 -max_b_frames 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -max_qdiff 4 -i_quant_factor 0.71428572 -rc_max_rate 768 -rc_buffer_size 244 -cmp 1 -s 640x480 -f mp4 -pass 1 /dev/null ffmpeg -y -i input_file.avi -v 1 -threads auto -vcodec h264 -b 500 -bt 175 -refs 1 -loop 1 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -me full -subq 6 -me_range 21 -chroma 1 -slice 2 -max_b_frames 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -max_qdiff 4 -i_quant_factor 0.71428572 -rc_max_rate 768 -rc_buffer_size 244 -cmp 1 -s 640x480 -acodec aac -ab 96 -ar 48000 -ac 2 -f mp4 -pass 2 output_file.mp4
Siccome iPod non supporta appieno H.264, il comando per codificare un file è molto più cpmplesso. Bisogna impostare i controlli del bitrate (-b indica il bitrate medio, -rc_max_rate indica il massimo picco istantaneo del bitrate). L' iPod supporta più di 1500kbit. È da tenere in considerazione che questa è una codifica a due passaggi, il che significa un più accurato controllo del bitrate e di conseguenza una miglior qualità, ma il tempo necessario per la codifica sarà ovviamente il doppio rispetto ad un singolo passaggio. Il risultante file mp4 avrà una resa migliore sia su iPod, TV o schermo 1280x800 del laptop.
Se non si è interessati alla riproduzione del video mp4 su TV o computer, è possibile usare H264 per ottenere codifiche 320x240, basta semplicemente sostituire 640x480 con 320x240. È anche possibile ridurre il bitrate medio (-b) a 175Kbit/s senza intaccare la qualità, che resterà sopportabile fino a valori prossimi ai 130Kbit/s. Ciò è impossibile con xvid.
A partire da Dicembre 2006 nella versione SVN di ffmpeg sono state rinominate molte opzioni, alcune delle quali ora utilizzano bits/s invece che kilobits. Il comando seguente è uguale al precedente tranne per il fatto che è stato modificato per funzionare con la nuova verdsione di SVN: |
ffmpeg -y -i input_file.avi -an -v 1 -threads auto -vcodec h264 -b 500k -bt 175k -refs 1 -loop 1 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -me full -subq 1 -me_range 21 -chroma 1 -slice 2 -bf 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -maxrate 768k -bufsize 2M -cmp 1 -s 640x480 -f mp4 -pass 1 /dev/null ffmpeg -y -i input_file.avi -v 1 -threads auto -vcodec h264 -b 500k -bt 175k -refs 1 -loop 1 -deblockalpha 0 -deblockbeta 0 -parti4x4 1 -partp8x8 1 -me full -subq 6 -me_range 21 -chroma 1 -slice 2 -bf 0 -level 30 -g 300 -keyint_min 30 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.7 -qmax 51 -qdiff 4 -i_qfactor 0.71428572 -maxrate 768k -bufsize 2M -cmp 1 -s 640x480 -acodec aac -ab 96 -ar 48000 -ac 2 -f mp4 -pass 2 output_file.mp4
Encoding from a DVD source
As mentioned, ffmpeg is able to take .VOB files from the video_ts directory of a dvd as a source. However, VOBs are usually split arbitrarily into 1GB pieces, sometimes even two titles are mixed together in one VOB, making it very inconvenient to use this method of encoding.
However, our good friend mplayer will come to the rescue. By instructing mplayer to play a particular title, you can dump the complete vob for that title directly to the hard disk. You will need mplayer installed (also from Multiverse)
mplayer dvd://1 -dumpstream -dumpfile dump.vob
This will output the first title of your DVD to dump.vob, which you can then give to ffmpeg as the input. Note that mplayer doesn't generate any progress indication and will appear to 'hang' during this process. Please be patient! If you are familiar with mplayer, you can fine-tune that command to dump a particular chapter, range of chapters, or many other modifications, too.
An alternate method is to do an ordinary DVD rip to an AVI or other format using your favorite DVD ripping tool, then feed that output to ffmpeg. The benefit to this approach is that there are many nice DVD-ripping GUI's to choose title/chapters, audio streams, cropping, and so on. The downsides are that you will suffer a slightly degraded quality and you have to wait for the dvd to rip to AVI format before being able to use ffmpeg to convert it to MP4.
Widescreen Resolutions
Your iPod supports a maximum of 640x480 or 320x240, but anything in that's below those specs would work. For widescreen, just adjust that ratio so that the width <= 640 and height <= 480. It's advisable to keep both dimensions a multiple of 16, else the encoder will not compress as efficiently.
Black Screen or iPod Resets When Trying to Play Video
The mp4's that ffmpeg generates are slightly nonstandard. Firmware 1.1 iPods had severe issues playing them back, typically marked by audio suddenly disappearing 15 seconds into the video. Firmware 1.2 fixes these issues, so for the large part ffmpeg's mp4's work perfectly on the iPod. However, on short clips encoded in h.264, the iPod still may show a black screen, freeze, or reset when trying to play it.
The pypodconv script already performs this workaround listed below. If you are using the pypodconv script, you should not encounter this issue
The solution is to use MP4Box to repack the mp4. You will need gpac installed from Multiverse:
MP4Box -add original.mp4 fixed.mp4
This repacks original.mp4 into fixed.mp4. After this is done, you may remove original.mp4. You may have seen some guides suggesting to -add original directly to original, and that'll pack it "in place". This is WRONG. It will just give you a double-sized mp4 file that still won't play on the iPod!
Since for larger video files, the repacking procedure could be quite time consuming, it's a good practice not to do it except for the rare portion of files that fail without repacking.
iTunes complains about these files, but GtkPod transfers them and the iPod plays fine
2007-11-20: There is now a fix for this issue. Upgrade to the latest gpac in Hardy (0.4.4) or soon to be in Gutsy Backports, then download the newest pypodconv.ffmpegsvn branch linked in the instructions. This allows MP4Box to output the iPod MP4 header.
This phenomenon mostly happens with the 640x480 H.264 encodes. iTunes expects to find a QuickTime-specific MP4 header and rejects the results from any other encoder. However, when the MP4's are transferred onto the iPod with another program (i.e. GtkPod), the iPod plays them back without a hitch.
This is a known issue, and there's been some patches and discussion over at the ffmpeg mailing list. If you're interested in learning more about this, see: http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-September/045391.html
MythTV Recordings
You can export your MythTV recordings to h.264 or mpeg4 compatable video files using MythExport.