In questo articolo si spiegherà, non il formato webm in sé, ma di come creare o convertire un video in webm senza perdere anni di vita o il senno della ragione in maniera rapida senza utilizzare molto programmi.
Ormai è stata tracciata la strada da parte di Google in merito ad html5 ed il suo ...
In questo articolo si spiegherà, non il formato webm in sé, ma di come creare o convertire un video in webm senza perdere anni di vita o il senno della ragione in maniera rapida senza utilizzare molto programmi.
Ormai è stata tracciata la strada da parte di Google in merito ad html5 ed il suo nuovo tag video: verrà dismesso il supporto ai video h264 nel browser Chrome a favore di un miglior supporto per il formato libero (anzi in parte liberato) dalla stessa società di Mountain View, WebM. Probabilmente è già iniziata la conversione dei video su YouTube
Se n’è parlato per molto tempo, anche in maniera feroce delle caratteristiche di questo formato video, di fatto un contenitore matroska con all’interno un flusso video VP8 (da poco rilasciato liberamente da Google dopo l’acquisizione di On2) ed un flusso audio Ogg Vorbis. Il grosso delle critiche rivolte al formato è sulla codifica video, per ora meno efficiente ed efficace di h264 (benché siano con caratteristiche simili) ed ancora scarsamente supportato nella decodifica hardware.
Dobbiamo dotarci dei filtri utili per il buon funzionamento del tutto:
Pack generico di codec audio/video – Combined Community Codec Pack
Filtri DirectShow Ogg Vorbis – Xiph.org Community (opencodecs_0.85.17777.exe o succesivi)
Filtri e compressore WebM – WebM Tools (webmdshow-0.9.12.0-20101216.zip o successivi)
Installiamo i primi 2 e scompattiamo l’ultimo. Nell’ultimo troveremo 2 file utili: install_webmdshow.exe andrà installato, mentre makewebm.exe sarà il nostro convertitore, mettiamolo quindi (con un semplice copia/incolla) nella posizione per noi più comoda (i.e. in C: o su una chiavetta pronto all’uso).
Siamo ora pronti per eseguire la conversione. Nel mio esempio andrò a convertire il video test_video.avi (xvid+mp3 640×360) in test_video.webm con le impostazioni secondo i miei gusti che meglio si adattano ad un compromesso bitrate/qualità. Consiglio di provare voi stessi più settaggi per raggiungere il vostro compromesso migliore.
Intanto apriamo il prompt dei comandi di windows (Start -> Esegui -> cmd) e portiamoci nella cartella dove è presente makewebm.exe (i.e. “cd C:\”). Scriviamo poi il comando e premiamo invio:
makewebm.exe -i test_video.avi --target-bitrate 400 --two-pass --thread-count 2 -o test_video.webm
inizierà quindi la conversione del nostro file (se è molto lungo durerà parecchio tempo).

Spieghiamo che parametri abbiamo passato al programma:
-i – indica il file di input (può essere anche un path assoluto)
-o – indica il file di output
–target-bitrate – indica in Kbps il bitrate “finale” desiderato
–two-pass – indica che dovranno essere eseguite 2 passate
–thread-count – indica il numero di thread da utilizzare (utile se avete macchine multi-core: indicate il numero così da velocizzare l’operazione di codifica) [si può omettere]
Scrivendo nel prompt solo makewebm.exe vengono stampate a video tutte le impostazioni ed i parametri:
C:\>makewebm.exe
usage: makewebm
-i, --input input filename
--audio-input audio input filename
-o, --output output filename
--deadline max time for frame encode (in microseconds)
--decoder-buffer-size buffer size (in milliseconds)
--decoder-buffer-initial-size before playback (in milliseconds)
--decoder-buffer-optimal-size desired size (in milliseconds)
--dropframe-threshold temporal resampling
--end-usage {"VBR"|"CBR"}
--error-resilient defend against lossy or noisy links
--keyframe-frequency time (in sec) between keyframes
--keyframe-mode {"disabled"|"auto"}
--keyframe-min-interval min distance between keyframes
--keyframe-max-interval max distable between keyframes
--lag-in-frames consume frames before producing
--min-quantizer min (best quality) quantizer
--max-quantizer max (worst quality) quantizer
--no-video do not render video (if present)
--require-audio quit if no audio encoder available
--no-audio do not render audio (if present)
--resize-allowed spatial resampling
--resize-up-threshold spatial resampling up threshold
--resize-down-threshold spatial resampling down threshold
--script-mode print progress in script-friendly way
--save-graph save graph as GraphEdit storage file (*.grf)
--target-bitrate target bandwidth (in kilobits/second)
--thread-count number of threads to use for VP8 encoding
--token-partitions number of sub-streams
--two-pass two-pass encoding
--two-pass-vbr-bias-pct CBR/VBR bias
--two-pass-vbr-minsection-pct minimum bitrate
--two-pass-vbr-maxsection-pct maximum bitrate
--undershoot-pct percent of target bitrate for easier frames
--overshoot-pct percent of target bitrate for harder frames
--auto-alt-ref encoder may create alternate reference frames
--arnr-maxframes max number of frames to use on filter
--arnr-strength strength of filter
--arnr-type type of filter
-l, --list print switch values, but do not run app
-v, --verbose print verbose list or usage info
-V, --version print version information
-?, -h, --help print usage
-??, -hh, --? print verbose usage
A voi utilizzare e testare la miglior configurazione. In questo modo potrete creare e convertire i video in webm così da utilizzarli nel tag html5 < video > anche su wordpress con l’ottimo plugin VideoJS per WordPress di cui ho parlato qui: Inserire un video html5 con fallback flash.