Répondre

0

FMS en direct les flux utilisent le protocole RTMP:

ffmpeg -i rtmp://***server/path* **-acodec copy -vcodec copy -y *captured***.flv**

Ici, nous économisons tout le flux vers un fichier FLV, qui est le format de fichier vidéo statique de Flash et peut donc toujours conserver toutes les données audio RTMP et vidéo codecs sans conversion.

Vous pouvez ensuite extraire les cadres souhaités, par ex.

ffmpeg -i *captured***.flv -s** starttime-vframes 1 -f image2 -vcodec mjpeg *captured***.jpg**

Si vous êtes ambitieux et savoir exactement ce que les décalages et les intervalles de temps que vous souhaitez capturer à l'avance, vous pouvez faire les deux étapes à la fois, par exemple une image chaque seconde:

ffmpeg -i rtmp://***server/path* **-r 1 -f image2 -vcodec mjpeg *captured***%d.jpg**

Tous ne sont pas les lignes de commande testés, il faudra fixer mais vous donner une bonne impression

+0

@Will, quand j'ai essayé votre solution, je ne suis une erreur: ' rtmp: // localhost/vid2/enregistrements: pas un tel fichier ou répertoire », semble que ffmpeg ne supporte pas le flux comme entrée? – libnet

+0

il se peut que vous deviez compiler ffmpeg. Ce n'est pas inhabituel. Ou peut-être que vous avez tort. Vous pouvez demander dans #ffmpeg sur freenode. – Will

+0

@Will, êtes-vous sûr que 'ffmpeg' peut traiter une entrée de flux? – libnet

Questions connexes