2017-07-12 1 views
0

J'essaie actuellement d'envoyer une vidéo via ffmpeg à un flux udp. Par conséquent, je dirige un rawvideo directement dans ffmpeg par . Ce sont mes options/paramètres:La sortie FFMPEG UDP ne fonctionne pas

var ffmpegArgs = [ 
    '-c:v', 'rawvideo',// input container 
    '-f', 'rawvideo', 
    '-pix_fmt', 'rgba', // input pixel format 
    '-s', '600x600', //input size 
    '-video_size', '600x600', 
    '-i', 'pipe:0', // input source 
    '-format', 'mpegts', // output container format 
    '-c:v', 'libx264', // output video codec 
    '-b:v', '2m', // output bitrate 
    'udp://239.255.123.46:1234' // output destination 
]; 

Ce que je me demande est: lors du démarrage, je reçois immédiatement une erreur en disant Unable to find a suitable output format for 'udp://239.255.123.46:1234', mais quand je mets un nom de fichier il (pour enregistrer la vidéo) comme video.mp4, la la vidéo est enregistrée et rendue très bien et je peux l'ouvrir après l'arrêt. Pourquoi le streaming UDP ne fonctionne-t-il pas? Des idées? Lorsque vous exécutez FFMPEG directement à partir de la ligne de commande avec une vidéo, puis utilisez exactement cette adresse de flux UDP, tout fonctionne parfaitement bien.

Quel est le problème?

Répondre

1

Remplacez '-format', 'mpegts' par '-f', 'mpegts'. Ce dernier est destiné à forcer des formats de sortie (ou d'entrée).

+0

Je vais essayer dès que possible. Mais pourquoi l'enregistrement d'une vidéo fonctionne-t-il et passe-t-il en streaming sur udp puis fonctionne? – nameless

+0

ffmpeg devine le format basé sur l'extension. Une sortie de diffusion n'aura pas cela. – Mulvya