Nota: questa risposta è stata pesantemente modificata dalla sua pubblicazione originale. È il 2017 adesso; lo streaming funziona in modo diverso rispetto al passato. Questa guida presuppone il semplice download progressivo di uno stream video a una determinata risoluzione, senza streaming adattivo.
Requisiti
Prima di tutto, assicurati di scaricare una ffmpeg
versione recente (scarica una build statica; non chiamare apt-get install ffmpeg
o simile). Idealmente, compilalo tu stesso . Non ci vuole troppo tempo.
Per generare video supportati dalla maggior parte dei browser, controlla sempre le ultime tabella di compatibilità . Non esiste un singolo codec / formato che funzioni in tutti i browser, ma se generi H.264 in MP4 e VP9 in WebM, con il rispettivo codec audio, avrai il supporto per Chrome, Firefox, Safari e alcune versioni di IE.
WebM (VP9 / Vorbis)
Seguire le raccomandazioni nella guida FFmpeg VP9 e utilizzare un approccio di codifica a due passaggi con vincoli di velocità:
ffmpeg -y -i input-c:v libvpx-vp9 -b:v 2000k -minrate 500k -maxrate 2500k -c:a libvorbis -pass 1 -f webm /dev/null && \
ffmpeg -i input-c:v libvpx-vp9 -b:v 2000k -minrate 500k -maxrate 2500k -c:a libvorbis -pass 2 output.webm
Il bitrate target dipende dalla risoluzione, dalla frequenza dei fotogrammi, dal tipo di contenuto e dalla qualità desiderata. 2,5 MBit / s dovrebbero essere un buon compromesso per i video HD a 30 fps. Vedi questa guida di Google per alcuni consigli.
MP4 (H.264 / AAC)
Segui le raccomandazioni nella guida H.264 di FFmpeg e utilizza un approccio di codifica a due passaggi con vincoli di velocità:
ffmpeg -y -i input -c:v libx264 -b:v 5000k -minrate 1000k -maxrate 8000k -pass 1 -c:a aac -f mp4 /dev/null && \
ffmpeg -i input -c:v libx264 -b:v 5000k -minrate 1000k -maxrate 8000k -pass 2 -c:a aac -movflags faststart output.mp4
Qui, il bitrate target dovrebbe essere di circa il 50% superiore rispetto al video VP9, poiché H.264 non è così efficiente. Aggiungi l' -movflags faststart
opzione al secondo passaggio per velocizzare il caricamento iniziale del video.
Per l'impostazione delle opzioni audio, consultare la guida alla codifica AAC .
.mov
un video HTML5 e nemmeno l'h.264
estensione. Non v'è.264
, che è la cruda bytestream allegato B per le unità NAL. La codifica video non è scienza missilistica, ma è necessario investire un po 'di tempo per conoscere i concetti.