FFmpegOutputArgs.cs 893 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. namespace Vinno.IUS.Common.Media.FFmpeg.ArgsBuilder
  2. {
  3. class FFmpegOutputArgs : FFmpegArgs
  4. {
  5. private readonly string _output;
  6. public FFmpegOutputArgs(string output)
  7. {
  8. _output = output;
  9. }
  10. public override string GetArgs()
  11. {
  12. return base.GetArgs() + $" {_output}";
  13. }
  14. public FFmpegOutputArgs AddArg(string arg)
  15. {
  16. Args.Add(arg);
  17. return this;
  18. }
  19. public FFmpegOutputArgs AddArg<T>(string key, T value)
  20. {
  21. return AddArg($"-{key} {value}");
  22. }
  23. public FFmpegOutputArgs SetVideoSize(int width, int height)
  24. {
  25. return AddArg("video_size", $"{width}x{height}");
  26. }
  27. public FFmpegOutputArgs SetFrameRate(int frameRate)
  28. {
  29. return AddArg("r", frameRate);
  30. }
  31. }
  32. }