À l'aide de FFMPEG pour diffuser en continu des vidéos des fichiers sur un serveur RTMP

ffmpeg poignées RTMP streaming en entrée ou en sortie, et il fonctionne bien.

Je veux diffuser quelques vidéos (une liste d'écoute dynamique géré par un script python) à un serveur RTMP, et je suis actuellement en train de faire quelque chose de très simple: la diffusion de mes vidéos une par une avec FFMPEG pour le serveur RTMP, cependant cela provoque une connexion pause à chaque fois une fin de vidéo, et le flux est prêt à aller quand la prochaine vidéo commence.

Je voudrais diffuser les vidéos sans sauts de connexion en continu, le flux pourrait être correctement affiché.

- Je utiliser cette commande pour diffuser mes vidéos une par une pour le serveur

ffmpeg -re -y -i myvideo.mp4 -vcodec libx264 -b:v 600k -r 25 -s 640x360 \
-filter:v yadif -ab 64k -ac 1 -ar 44100 -f flv \
"rtmp://mystreamingserver/app/streamName"

J'ai regardé pour des solutions sur internet pour de nombreux jours, et j'ai trouvé des gens parler à l'aide d'un tube nommé comme entrée dans ffmpeg, je l'ai essayé et ça ne fonctionne pas bien depuis ffmpeg n'est pas seulement de fermer le flux RTMP quand une nouvelle vidéo vient mais aussi se referme.

Est-il possible de faire cela ? (flux d'une dynamique de la liste de lecture de vidéos avec ffmpeg à RTMP server sans sauts de connexion

  • À l'aide d'un tube nommé est la bonne façon de faire. Pouvez-vous élaborer sur la façon dont cela n'a pas fonctionné pour vous?
  • J'ai utilisé le canal nommé comme une entrée dans l'ffmpeg ffmpeg de pause et d'attente pour certaines données de la pipe, puis j'ai essayé cat video.mp4 > fifo et ffmpeg début de streaming et de quitter après la diffusion de la vidéo. Je pense que je ne sais pas comment utiliser le canal nommé le droit chemin, quand j'ai fait cat video1.mp4 video2.mp4 > fifo ffmpeg montrer l'erreur stream 4, offset 0x1d83c: partial file après la diffusion de la première vidéo. Je sais que c'est me faire mal, j'ai pour transmettre les données vidéo d'une manière appropriée à travers le tuyau.
  • J'ai réussi à envoyer un flux statique de la liste de lecture de vidéos en utilisant pour chaque vidéo un tuyau (ex vid1.mp4 -> pipe1, vid2.mp4 -> pipe2 etc). Puis-je écrire en un seul flux de canal nommé "flux" de cette façon,cat pipe1 pipe2 pipe3 > stream, et j'utilise le flux de la pipe comme une entrée dans FFMPEG pour publier mes flux, mais depuis que je suis à la recherche pour une liste d'écoute dynamique comment puis-je envoyer plus de vidéos pour le "stream" pipe afin de le garder vivant le flux ? je n'ai pas le comprendre encore. (Remarque, sauf pour la première vidéo, j'ai dû couper les métadonnées de chaque fichier vidéo à l'aide de la queue de commande pour l'obtention de ce travail)
  • ffmpeg est un nouveau "concat" protocole qui...pourrait aider...
  • ffmpeg.org/trac/ffmpeg/wiki/...
  • ffmpeg [NO-re] [bla bla] -f flv "namedpipe" ffmpeg -re -f flv -je "namedpipe"

InformationsquelleAutor kketch | 2012-07-25