transcodage et segment avec ffmpeg

il semble que ffmpeg a maintenant un segmenter en elle, ou au moins il y a une option de ligne de commande

- segment f

dans la documentation.

est-ce que cela signifie que je peux utiliser ffmpeg en temps réel-transcoder une vidéo en H. 264 et de fournir segmenté iOS compatible .m3u8 flux à l'aide de ffmpeg seul? si c'est le cas, qu'est-ce qu'une commande pour transcoder un fichier vidéo arbitraire vers un h segmenté?264 aac 640 x 480 stream iOS compatible stream?

26
demandé sur alphablender 2012-01-07 09:53:44

2 réponses

Absolument, vous pouvez utiliser le bouton -f segment pour couper la vidéo en morceaux et servir aux appareils iOS. ffmpeg va créer des fichiers de segments .ts et vous pouvez les servir avec n'importe quel serveur web.

exemple (avec la désactivation du son) - version de 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

Conseils:

  • assurez-vous de compiler ffmpeg à partir de la plupart des les récentes référentiel
  • compiler avec libx264 codec
  • - la carte 0 est nécessaire

comment j'ai compilé FFMPEG - avec un support rtmp supplémentaire pour obtenir des flux à partir de

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
35
répondu vladaman 2012-04-06 18:05:51

cette information se trouve dans la documentation du ffmpeg: https://ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment

6
répondu Mahendra 2013-03-14 13:09:09