Example #1
0
 static int ExportVideo(Take pTake, VideoExporter pExporter, StreamWriter pLoger)
 {
     int nbErrors = 0;
     Log(pLoger, "==> Exporting video...");
     if (pTake.HasData(Take.DataType.Video))
     {
         string takeDir = Path.GetDirectoryName(pTake.FileName);
         string videoFilePath = Path.GetFileNameWithoutExtension(pTake.FileName) + "." + pExporter.Extension;
         videoFilePath = Path.GetFullPath(Path.Combine(takeDir, videoFilePath));
         try
         {
             //pExporter.FrameRate = VideoExporter.FrameRateValue.Quarter;
             DataStream videoStream = DataStreamWarehouse.OpenFile(videoFilePath, DataStream.StreamOpenMode.WriteOnly, pExporter.IsBinary);
             // Works since Motive 1.9.x
             Result exportResult = pExporter.Export(pTake, videoStream);
             if (exportResult.Success)
             {
                 Log(pLoger, String.Format("\t==> Video exported successfully to file {0}", videoFilePath));
             }
             else
             {
                 Log(pLoger, String.Format("\tError : cannot export Video {0} => {1}", videoFilePath, exportResult.Message));
                 nbErrors = 1;
             }
             //videoStream.Dispose();
         }
         catch (Exception e)
         {
             Log(pLoger, String.Format("\tError : cannot export Video {0} => {1}", videoFilePath, e.Message));
             nbErrors = 1;
         }
     }
     else
     {
         Log(pLoger, "\t==> No video found !");
     }
     return nbErrors;
 }