FFmpeg Flux En Direct En Boucle De La Vidéo?
Je suis en train de diffuser une vidéo en boucle pour justin.tv à l'aide de FFmpeg? J'ai réussi à en boucle d'une séquence d'images et de le combiner avec de ligne audio:
ffmpeg -boucle 1 -je imageSequence%04d.jpg -f alsa -ac 2 -ar 22050 -ab 64 ko \ -je pulse-acodec adpcm_swf -r 10 -vcodec flv \ -f flv rtmp://live.justin.tv/app/<yourStreamKeyHere>
Est-il possible de le faire avec un fichier vidéo?
Vous devez vous connecter pour publier un commentaire.
Certainement possible. Dans les dernières versions de ffmpeg, ils ont ajouté un -stream_loop indicateur qui permet à la boucle de l'entrée autant de fois que nécessaire.
Gotcha est que si vous n'avez pas de régénérer les pts de la source, ffmpeg déposer des cadres après la première boucle (comme le timestamp soudain revenir en arrière dans le temps). Pour éviter cela, vous devez dire à ffmpeg pour générer les pts de sorte que vous obtenez une augmentation de l'horodatage entre les boucles. Cela se fait avec l' +genpts appel (il doit être devant le -i arg).
Voici un exemple de ffmpeg appel (remplacez $F avec votre fichier d'entrée). Cet exemple génère deux flux de sortie et l'-stream_loop -1 argument indique ffmpeg à boucle en continu l'entrée. Le résultat dans ce cas est un analogue de diffusion de flux ingérer (MetaCDN), ajustez en fonction de vos exigences.
Sinclair Médias a trouvé une solution en utilisant les lavfi filtre et en ajoutant
:loop=0
pour le nom de fichier :Ce n'est pas testée:
Mais il faut créer un local "index_1500.m3u8" fichier de flux de la vidéo en "StreamTest.avi".
-f lavfi -re -fflags +genpts -i "movie=GleamingThatBrownbutterfly.webm:loop=0, setpts=N/(FRAME_RATE*TB)"
. Sans celles-ci, il a été l'arrêter après la première boucle et le reste des images ont été abandonnées.Je viens de réutiliser les Rob réponses avec un peu de modifications dans le but de fournir un fichier à live streaming