public static LocalVideoFile ConvertToVideoFile(LocalFlvFile flvFile, string outputFileName, UpdateProgress updateProgress)
    {
      var fileargs = "-i \"" + flvFile.FileName + "\" -y \"" + outputFileName + '"';

      long totalTime;
      EncodeFile(fileargs, updateProgress, out totalTime);

      return new LocalVideoFile { FileName = outputFileName, TotalTime = totalTime };
    }
    public LocalFlvFile DownloadAndSaveAsTempFile(YoutubeVideo youTubeVideo)
    {
      youTubeVideo.ThrowIfNull("youTubeVideo");

      var localFile = new LocalFlvFile { FileName = GetTempFileNameWithExtension("flv") };

      var webClient = new WebClientImpl();
      webClient.DownloadFile(youTubeVideo.FlvUri, localFile.FileName, _stateNotifier.SetProgress);

      return localFile;
    }