2017-08-14 1 views
0

J'utilise actuellement la réponse à this question pour acheminer une chaîne de bitmaps dans ffmpeg. Cela nécessite de rediriger le flux StandardInput et de lui écrire.Accès à StandardInput de NRECO.VideoConverter?

Est-ce que quelque chose de similaire est disponible avec NRECO.VideoConverter? Est-il possible d'accéder au processus en cours ou d'accéder uniquement au flux de base StandardInput?

Répondre

1

Si vous souhaitez fournir des données d'entrée à stdin ou lire des données de sortie depuis stdout (ou les deux), vous pouvez utiliser la méthode ConvertLiveMedia; il a pour différents scénarios surcharges d'utilisation:

var videoConv = new FFMpegConverter();   
var ffMpegTask = videoConv.ConvertLiveMedia(
    "rawvideo", 
    h264stream, 
    "h264", 
    new ConvertSettings() { 
     CustomInputArgs = String.Format(" -pix_fmt bgr24 -video_size 640x480 -framerate 5 ", 
      frameBmp.Width, frameBmp.Height) 
    }); 
ffMpegTask.Start(); 
ffMpegTask.Write(bmpBytes); // call N times for each input frame. Image size should be exactly 640x480 
ffMpegTask.Stop(); 

Vous pouvez adopter cet extrait de code pour « image2pipe » si nécessaire.