Il semble que ffmpeg ait maintenant un segmenteur, ou au moins il y a une option en ligne de commande
-f segment
dans la documentation.
Cela signifie-t-il que je peux utiliser ffmpeg pour transcoder en temps réel une vidéo en h.264 et fournir des flux segmentés IOS compatibles .m3u8 en utilisant ffmpeg seul? Si oui, quelle serait une commande pour transcoder une vidéo arbitraire fichier vers un flux segmenté h.264 aac 640 x 480 flux compatible ios?
Absolument - vous pouvez utiliser - segment f pour découper la vidéo en morceaux et la servir aux appareils iOS. ffmpeg créera des fichiers de segments .ts et vous pouvez les servir avec n'importe quel serveur Web.
Exemple de travail (avec son désactivé) - version 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:
Comment j'ai compilé FFMPEG - avec un support rtmp supplémentaire pour obtenir des flux 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
Cela se trouve dans la documentation ffmpeg: https://ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment