2012-01-07 12 views
25

Sembra che ffmpeg ora ha un segmenter in esso, o almeno c'è una linea di comandotranscodifica e segmento con ffmpeg

segmento -f

nella documentazione.

Ciò significa che è possibile utilizzare ffmpeg in tempo reale, transcodificare un video in h.264 e fornire flussi m3u8 compatibili con IOS segmentati usando solo ffmpeg? in caso affermativo, quale sarebbe un comando per transcodificare un file video arbitrario in uno stream ios compatibile con streaming ios h.264 aac 640 x 480?

+1

Se TS contiene più programmi (Programmi TV catturati da DVB-T), come può dividerlo? Ad esempio, ho un file TS che contiene football + cooking + cartoon. Come posso dividere questo file TS in 3 file mpg? –

risposta

34

Assolutamente - è possibile utilizzare -f segmento per tagliare i video in pezzi e servirli su dispositivi iOS. ffmpeg creerà i file di segmento .ts e potrai servire quelli con qualsiasi server web.

esempio (con disattivato il suono) di lavoro - versione ffmpeg N-39494-g41a097a:

./ffmpeg -v 9 -loglevel 99 -re -i sourcefile.avi -an \ 
-c:v libx264 -b:v 128k -vpre ipod320 \ 
-flags -global_header -map 0 -f segment -segment_time 4 \ 
-segment_list test.m3u8 -segment_format mpegts stream%05d.ts 

Punte:

  • assicurarsi di compilare ffmpeg dal più recente repository
  • compilare con codec libx264
  • -mappa 0 è necessario

Come ho compilato FFMPEG - con il supporto rtmp supplementare per ottenere feed da

export PKG_CONFIG_PATH="/usr/lib/pkgconfig/:../rtmpdump-2.3/librtmp"  

./configure --enable-librtmp --enable-libx264 \ 
--libdir='../x264/:/usr/local/lib:../rtmpdump-2.3' \ 
--enable-gpl --enable-pthreads --enable-libvpx \ 
--disable-ffplay --disable-ffserver --disable-shared --enable-debug 
+0

Sono su un mac, snow leopard e sto cercando di compilarlo, non ho bisogno di librtmp dato che non sto facendo streaming RTMP, qualche suggerimento su cosa scaricare, passaggi che devo seguire per farlo funzionare? Sembra che FFmpeg rimandi a cose come libfaad che sembra non essere più necessario. – alphablender

+1

non funziona per me, la playlist risultante ha sempre solo l'ultimo elemento. [solo Stream00009.ts per esempio] –

+0

Se TS contiene più programmi (programmi TV catturati da DVB-T), come può dividerlo? Ad esempio, ho un file TS che contiene football + cooking + cartoon. Come posso dividere questo file TS in 3 file mpg? –

Problemi correlati