001    package railo.runtime.video;
002    
003    
004    public interface VideoProfile {
005    
006            public static final String TYPE_4XM ="4xm";
007            public static final String TYPE_8BPS ="8bps";
008            public static final String TYPE_AAC ="aac";
009            public static final String TYPE_AASC ="aasc";
010            public static final String TYPE_AC3 ="ac3";
011            public static final String TYPE_ADPCM_4XM ="adpcm_4xm";
012            public static final String TYPE_ADPCM_ADX ="adpcm_adx";
013            public static final String TYPE_ADPCM_CT ="adpcm_ct";
014            public static final String TYPE_ADPCM_EA ="adpcm_ea";
015            public static final String TYPE_ADPCM_IMA_DK3 ="adpcm_ima_dk3";
016            public static final String TYPE_ADPCM_IMA_DK4 ="adpcm_ima_dk4";
017            public static final String TYPE_ADPCM_IMA_QT ="adpcm_ima_qt";
018            public static final String TYPE_ADPCM_IMA_SMJPEG ="adpcm_ima_smjpeg";
019            public static final String TYPE_ADPCM_IMA_WAV ="adpcm_ima_wav";
020            public static final String TYPE_ADPCM_IMA_WS ="adpcm_ima_ws";
021            public static final String TYPE_ADPCM_MS ="adpcm_ms";
022            public static final String TYPE_ADPCM_SBPRO_2 ="adpcm_sbpro_2";
023            public static final String TYPE_ADPCM_SBPRO_3 ="adpcm_sbpro_3";
024            public static final String TYPE_ADPCM_SBPRO_4 ="adpcm_sbpro_4";
025            public static final String TYPE_ADPCM_SWF ="adpcm_swf";
026            public static final String TYPE_ADPCM_XA ="adpcm_xa";
027            public static final String TYPE_ADPCM_YAMAHA ="adpcm_yamaha";
028            public static final String TYPE_ALAC ="alac";
029            public static final String TYPE_AMR_NB ="amr_nb";
030            public static final String TYPE_AMR_WB ="amr_wb";
031            public static final String TYPE_ASV1 ="asv1";
032            public static final String TYPE_ASV2 ="asv2";
033            public static final String TYPE_AVS ="avs";
034            public static final String TYPE_BMP ="bmp";
035            public static final String TYPE_CAMSTUDIO ="camstudio";
036            public static final String TYPE_CAMTASIA ="camtasia";
037            public static final String TYPE_CINEPAK ="cinepak";
038            public static final String TYPE_CLJR ="cljr";
039            public static final String TYPE_COOK ="cook";
040            public static final String TYPE_CYUV ="cyuv";
041            public static final String TYPE_DVBSUB ="dvbsub";
042            public static final String TYPE_DVDSUB ="dvdsub";
043            public static final String TYPE_DVVIDEO ="dvvideo";
044            public static final String TYPE_FFV1 ="ffv1";
045            public static final String TYPE_FFVHUFF ="ffvhuff";
046            public static final String TYPE_FLAC ="flac";
047            public static final String TYPE_FLIC ="flic";
048            public static final String TYPE_FLV ="flv";
049            public static final String TYPE_FRAPS ="fraps";
050            public static final String TYPE_G726 ="g726";
051            public static final String TYPE_H261 ="h261";
052            public static final String TYPE_H263 ="h263";
053            public static final String TYPE_H263I ="h263i";
054            public static final String TYPE_H263P ="h263p";
055            public static final String TYPE_H264 ="h264";
056            public static final String TYPE_HUFFYUV ="huffyuv";
057            public static final String TYPE_IDCINVIDEO ="idcinvideo";
058            public static final String TYPE_INDEO2 ="indeo2";
059            public static final String TYPE_INDEO3 ="indeo3";
060            public static final String TYPE_INTERPLAY_DPCM ="interplay_dpcm";
061            public static final String TYPE_INTERPLAYVIDEO ="interplayvideo";
062            public static final String TYPE_JPEGLS ="jpegls";
063            public static final String TYPE_KMVC ="kmvc";
064            public static final String TYPE_LJPEG ="ljpeg";
065            public static final String TYPE_LOCO ="loco";
066            public static final String TYPE_MACE3 ="mace3";
067            public static final String TYPE_MACE6 ="mace6";
068            public static final String TYPE_MDEC ="mdec";
069            public static final String TYPE_MJPEG ="mjpeg";
070            public static final String TYPE_MJPEGB ="mjpegb";
071            public static final String TYPE_MMVIDEO ="mmvideo";
072            public static final String TYPE_MP2 ="mp2";
073            public static final String TYPE_MP3 ="mp3";
074            public static final String TYPE_MP3ADU ="mp3adu";
075            public static final String TYPE_MP3ON4 ="mp3on4";
076            public static final String TYPE_MPEG1VIDEO ="mpeg1video";
077            public static final String TYPE_MPEG2VIDEO ="mpeg2video";
078            public static final String TYPE_MPEG4 ="mpeg4";
079            public static final String TYPE_MPEG4AAC ="mpeg4aac";
080            public static final String TYPE_MPEGVIDEO ="mpegvideo";
081            public static final String TYPE_MSMPEG4 ="msmpeg4";
082            public static final String TYPE_MSMPEG4V1 ="msmpeg4v1";
083            public static final String TYPE_MSMPEG4V2 ="msmpeg4v2";
084            public static final String TYPE_MSRLE ="msrle";
085            public static final String TYPE_MSVIDEO1 ="msvideo1";
086            public static final String TYPE_MSZH ="mszh";
087            public static final String TYPE_NUV ="nuv";
088            public static final String TYPE_PAM ="pam";
089            public static final String TYPE_PBM ="pbm";
090            public static final String TYPE_PCM_ALAW ="pcm_alaw";
091            public static final String TYPE_PCM_MULAW ="pcm_mulaw";
092            public static final String TYPE_PCM_S16BE ="pcm_s16be";
093            public static final String TYPE_PCM_S16LE ="pcm_s16le";
094            public static final String TYPE_PCM_S24BE ="pcm_s24be";
095            public static final String TYPE_PCM_S24DAUD ="pcm_s24daud";
096            public static final String TYPE_PCM_S24LE ="pcm_s24le";
097            public static final String TYPE_PCM_S32BE ="pcm_s32be";
098            public static final String TYPE_PCM_S32LE ="pcm_s32le";
099            public static final String TYPE_PCM_S8 ="pcm_s8";
100            public static final String TYPE_PCM_U16BE ="pcm_u16be";
101            public static final String TYPE_PCM_U16LE ="pcm_u16le";
102            public static final String TYPE_PCM_U24BE ="pcm_u24be";
103            public static final String TYPE_PCM_U24LE ="pcm_u24le";
104            public static final String TYPE_PCM_U32BE ="pcm_u32be";
105            public static final String TYPE_PCM_U32LE ="pcm_u32le";
106            public static final String TYPE_PCM_U8 ="pcm_u8";
107            public static final String TYPE_PGM ="pgm";
108            public static final String TYPE_PGMYUV ="pgmyuv";
109            public static final String TYPE_PNG ="png";
110            public static final String TYPE_PPM ="ppm";
111            public static final String TYPE_QDM2 ="qdm2";
112            public static final String TYPE_QDRAW ="qdraw";
113            public static final String TYPE_QPEG ="qpeg";
114            public static final String TYPE_QTRLE ="qtrle";
115            public static final String TYPE_RAWVIDEO ="rawvideo";
116            public static final String TYPE_REAL_144 ="real_144";
117            public static final String TYPE_REAL_288 ="real_288";
118            public static final String TYPE_ROQ_DPCM ="roq_dpcm";
119            public static final String TYPE_ROQVIDEO ="roqvideo";
120            public static final String TYPE_RPZA ="rpza";
121            public static final String TYPE_RV10 ="rv10";
122            public static final String TYPE_RV20 ="rv20";
123            public static final String TYPE_SHORTEN ="shorten";
124            public static final String TYPE_SMACKAUD ="smackaud";
125            public static final String TYPE_SMACKVID ="smackvid";
126            public static final String TYPE_SMC ="smc";
127            public static final String TYPE_SNOW ="snow";
128            public static final String TYPE_SOL_DPCM ="sol_dpcm";
129            public static final String TYPE_SONIC ="sonic";
130            public static final String TYPE_SONICLS ="sonicls";
131            public static final String TYPE_SP5X ="sp5x";
132            public static final String TYPE_SVQ1 ="svq1";
133            public static final String TYPE_SVQ3 ="svq3";
134            public static final String TYPE_THEORA ="theora";
135            public static final String TYPE_TRUEMOTION1 ="truemotion1";
136            public static final String TYPE_TRUEMOTION2 ="truemotion2";
137            public static final String TYPE_TRUESPEECH ="truespeech";
138            public static final String TYPE_TTA ="tta";
139            public static final String TYPE_ULTIMOTION ="ultimotion";
140            public static final String TYPE_VC9 ="vc9";
141            public static final String TYPE_VCR1 ="vcr1";
142            public static final String TYPE_VMDAUDIO ="vmdaudio";
143            public static final String TYPE_VMDVIDEO ="vmdvideo";
144            public static final String TYPE_VORBIS ="vorbis";
145            public static final String TYPE_VP3 ="vp3";
146            public static final String TYPE_VQAVIDEO ="vqavideo";
147            public static final String TYPE_WMAV1 ="wmav1";
148            public static final String TYPE_WMAV2 ="wmav2";
149            public static final String TYPE_WMV1 ="wmv1";
150            public static final String TYPE_WMV2 ="wmv2";
151            public static final String TYPE_WNV1 ="wnv1";
152            public static final String TYPE_WS_SND1 ="ws_snd1";
153            public static final String TYPE_XAN_DPCM ="xan_dpcm";
154            public static final String TYPE_XAN_WC3 ="xan_wc3";
155            public static final String TYPE_XL ="xl";
156            public static final String TYPE_XVID ="xvid";
157            public static final String TYPE_ZLIB ="zlib";
158            public static final String TYPE_ZMBV ="zmbv";
159    
160            public static final int ASPECT_RATIO_16_9 =1;
161            public static final int ASPECT_RATIO_4_3 =2;
162            public static final int ASPECT_RATIO_1_33333 =ASPECT_RATIO_4_3;
163            public static final int ASPECT_RATIO_1_77777 =ASPECT_RATIO_16_9;
164    
165            public static final int SCAN_MODE_INTERLACED =1;
166            public static final int SCAN_MODE_PROGRESSIV =2;
167            
168            
169            public VideoProfile duplicate();
170            
171    
172            /**
173             * set the type of the output format (see constants "TYPE_xxx" of this class)
174             * @param type 
175             */
176            public void setType(String type);
177    
178            /**
179             * @return the type
180             */
181            public String getType();
182    
183            /**
184             * @return the dimension
185             */
186            public String getDimension();
187    
188            public void setDimension(int width, int height);
189    
190            /**
191             * @return the bitrate
192             */
193            public double getVideoBitrate();
194    
195            /**
196             * set video bitrate in kbit/s (default 200)
197             * @param bitrate the bitrate to set
198             */
199            public void setVideoBitrate(long bitrate);
200    
201            /**
202             * @return the framerate
203             */
204            public double getFramerate() ;
205    
206            /**
207             * sets the framerate (default 25)
208             * @param framerate the framerate to set
209             */
210            public void setFramerate(double framerate);
211    
212            /**
213             * @return the aspectRatio
214             */
215            public int getAspectRatio() ;
216    
217            /**
218             * sets the aspectRatio (VideoOutput.ASPECT_RATIO_xxx)
219             * @param aspectRatio the aspectRatio to set
220             */
221            public void setAspectRatio(int aspectRatio);
222            
223    
224            public void setAspectRatio(String strAspectRatio);
225            /**
226             * @return the bitrateMin
227             */
228            public double getVideoBitrateMin() ;
229    
230            /**
231             * set min video bitrate tolerance (in kbit/s)
232             * @param bitrateMin the bitrateMin to set
233             */
234            public void setVideoBitrateMin(long bitrateMin);
235    
236            /**
237             * @return the bitrateMax
238             */
239            public double getVideoBitrateMax() ;
240    
241            /**
242             * set max video bitrate tolerance (in kbit/s)
243             * @param bitrateMax the bitrateMax to set
244             */
245            public void setVideoBitrateMax(long bitrateMax) ;
246    
247            /**
248             * @return the bitrateTolerance
249             */
250            public double getVideoBitrateTolerance();
251    
252            /**
253             * set video bitrate tolerance (in kbit/s)
254             * @param bitrateTolerance the bitrateTolerance to set
255             */
256            public void setVideoBitrateTolerance(long bitrateTolerance);
257    
258            /**
259             * @return the audioBitrate
260             */
261            public double getAudioBitrate();
262    
263            /**
264             * @return the scanMode
265             */
266            public int getScanMode();
267            
268            /**
269             * @param scanMode the scanMode to set
270             */
271            public void setScanMode(int scanMode);
272            
273            /**
274             * @param audioBitrate the audioBitrate to set
275             */
276            public void setAudioBitrate(long audioBitrate);
277            
278            public void setAudioCodec(String codec);
279            
280            public void setVideoCodec(String codec) ;
281            
282            /**
283             * @return the videoCodec
284             */
285            public String getVideoCodec();
286            /**
287             * @return the audioCodec
288             */
289            public String getAudioCodec();
290            
291            /**
292             * @return the audioSamplerate
293             */
294            public double getAudioSamplerate();
295            
296            /**
297             * @param audioSamplerate the audioSamplerate to set
298             */
299            public void setAudioSamplerate(double audioSamplerate);
300            
301            /**
302             * @return the bufferSize
303             */
304            public long getBufferSize();
305            
306            /**
307             * @param bufferSize the bufferSize to set
308             */
309            public void setBufferSize(long bufferSize);
310            
311            /**
312             * @return the pass
313             */
314            public int getPass();
315            
316            /**
317             * @param pass the pass to set
318             */
319            public void setPass(int pass);
320    }