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?
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 git 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 flash-media-server
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
cette information se trouve dans la documentation du ffmpeg: https://ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment