VTK  9.3.20240228
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
42 #ifndef vtkFFMPEGWriter_h
43 #define vtkFFMPEGWriter_h
44 
45 #include "vtkGenericMovieWriter.h"
46 #include "vtkIOFFMPEGModule.h" // For export macro
47 
48 VTK_ABI_NAMESPACE_BEGIN
49 class vtkFFMPEGWriterInternal;
50 
51 class VTKIOFFMPEG_EXPORT vtkFFMPEGWriter : public vtkGenericMovieWriter
52 {
53 public:
54  static vtkFFMPEGWriter* New();
56  void PrintSelf(ostream& os, vtkIndent indent) override;
57 
59 
63  void Start() override;
64  void Write() override;
65  void End() override;
67 
69 
74  vtkSetClampMacro(Quality, int, 0, 2);
75  vtkGetMacro(Quality, int);
77 
79 
83  vtkSetMacro(Compression, bool);
84  vtkGetMacro(Compression, bool);
85  vtkBooleanMacro(Compression, bool);
87 
89 
92  vtkSetClampMacro(Rate, int, 1, 5000);
93  vtkGetMacro(Rate, int);
95 
97 
100  vtkSetMacro(BitRate, int);
101  vtkGetMacro(BitRate, int);
103 
105 
108  vtkSetMacro(BitRateTolerance, int);
109  vtkGetMacro(BitRateTolerance, int);
111 
112 protected:
114  ~vtkFFMPEGWriter() override;
115 
116  vtkFFMPEGWriterInternal* Internals;
117 
119  int Quality;
120  int Rate;
121  int BitRate;
124 
125 private:
126  vtkFFMPEGWriter(const vtkFFMPEGWriter&) = delete;
127  void operator=(const vtkFFMPEGWriter&) = delete;
128 };
129 
130 VTK_ABI_NAMESPACE_END
131 #endif
Uses the FFMPEG library to write video files.
vtkFFMPEGWriterInternal * Internals
void Write() override
These methods start writing an Movie file, write a frame to the file and then end the writing process...
void End() override
These methods start writing an Movie file, write a frame to the file and then end the writing process...
static vtkFFMPEGWriter * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkFFMPEGWriter() override
void Start() override
These methods start writing an Movie file, write a frame to the file and then end the writing process...
an abstract movie writer class.
a simple class to control print indentation
Definition: vtkIndent.h:108