web-dev-qa-db-fra.com

Streaming avec crtmpserver et ffmpeg

J'essaie d'utiliser crtmpserver et ffmpeg (du ppa mc3man, je suis sur Ubuntu 14.04) pour diffuser, pour l'instant juste localement sur ma machine (pour que tout fonctionne correctement).

J'ai la configuration par défaut de crtmpserver, et elle est en cours d'exécution.

Maintenant, j'essaie de diffuser un fichier FLV en utilisant:

ffmpeg -re -i SampleVideo_1280x720_20mb.flv  -f flv -c copy -metadata streamName="aaa" "tcp://localhost:6666"

et puis, pendant qu'il joue, regardez le résultat avec ffplay

ffplay "rtmp://localhost/flvplayback/aaa"

Cependant, cette dernière commande entraîne les erreurs suivantes:

[rtmp @ 0x7f7800005760] Server error: call to function _checkbw failed
rtmp://localhost/flvplayback/aaa: Unknown error occurred

Je ne sais pas ce qui ne va pas, quelqu'un qui a plus d'expérience dans ce domaine a-t-il une idée de ce que je pourrais essayer de résoudre?

4
davidv1992

J'ai utilisé crtmpserver à fond, je sais que l'erreur _checkbw. Bien que je ne sache pas encore comment résoudre ce problème, vous pouvez également utiliser le flux de commande ffmpeg suivant pour crtmpserver sur rtsp et le lire à partir de n’importe quel lecteur multimédia, y compris VLC et Android, lecteur multimédia natif.

ffmpeg -re -f video4linux2 -s 640x480 -i /dev/video0 -pix_fmt yuv420p -r 20 -c:v libx264 -q 1 -f rtsp -metadata title="aaa" "tcp://<server ip here>:5554"

aussi vous pouvez le lire via

vlc rtsp://<server ip here>:5554/flvplayback/aaa

PS: veillez à autoriser le trafic de ces ports sur le serveur.

1
Altanai