VTK  9.3.1
vtkFFMPEGWriter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
23 #ifndef vtkFFMPEGWriter_h
24 #define vtkFFMPEGWriter_h
25 
26 #include "vtkGenericMovieWriter.h"
27 #include "vtkIOFFMPEGModule.h" // For export macro
28 
29 VTK_ABI_NAMESPACE_BEGIN
30 class vtkFFMPEGWriterInternal;
31 
32 class VTKIOFFMPEG_EXPORT vtkFFMPEGWriter : public vtkGenericMovieWriter
33 {
34 public:
35  static vtkFFMPEGWriter* New();
37  void PrintSelf(ostream& os, vtkIndent indent) override;
38 
40 
44  void Start() override;
45  void Write() override;
46  void End() override;
48 
50 
55  vtkSetClampMacro(Quality, int, 0, 2);
56  vtkGetMacro(Quality, int);
58 
60 
64  vtkSetMacro(Compression, bool);
65  vtkGetMacro(Compression, bool);
66  vtkBooleanMacro(Compression, bool);
68 
70 
73  vtkSetClampMacro(Rate, int, 1, 5000);
74  vtkGetMacro(Rate, int);
76 
78 
81  vtkSetMacro(BitRate, int);
82  vtkGetMacro(BitRate, int);
84 
86 
89  vtkSetMacro(BitRateTolerance, int);
90  vtkGetMacro(BitRateTolerance, int);
92 
93 protected:
95  ~vtkFFMPEGWriter() override;
96 
97  vtkFFMPEGWriterInternal* Internals;
98 
100  int Quality;
101  int Rate;
102  int BitRate;
105 
106 private:
107  vtkFFMPEGWriter(const vtkFFMPEGWriter&) = delete;
108  void operator=(const vtkFFMPEGWriter&) = delete;
109 };
110 
111 VTK_ABI_NAMESPACE_END
112 #endif
virtual void Write()=0
These methods start writing an Movie file, write a frame to the file and then end the writing process...
virtual void Start()=0
These methods start writing an Movie file, write a frame to the file and then end the writing process...
virtual void End()=0
These methods start writing an Movie file, write a frame to the file and then end the writing process...
Uses the FFMPEG library to write video files.
a simple class to control print indentation
Definition: vtkIndent.h:28
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
an abstract movie writer class.
static vtkAlgorithm * New()
vtkFFMPEGWriterInternal * Internals