]> git.sesse.net Git - mlt/blob - src/modules/avformat/producer_avformat.yml
07c41c90e1d8d3a7548eab591288a92cb5b1ba4c
[mlt] / src / modules / avformat / producer_avformat.yml
1 schema_version: 0.1
2 type: producer
3 identifier: avformat
4 title: FFmpeg Reader
5 version: 2
6 copyright: Copyright (C) 2003-2011 Ushodaya Enterprises Limited
7 license: LGPL
8 language: en
9 url: http://www.ffmpeg.org/
10 creator: Charles Yates
11 contributor:
12   - Dan Dennedy
13 tags:
14   - Audio
15   - Video
16 description: Read an audio and/or video file using FFmpeg
17 bugs:
18   - Audio sync discrepancy with some content.
19   - Not all libavformat supported formats are seekable.
20   - >
21     Seeking is not always accurate. Sometimes it doesn't seek to I-frames so you
22     may get junk for a few frames.
23   - >
24     More than 2 channels of audio more than 16 bits is not supported.
25
26 parameters:
27   - identifier: argument # 'argument' is a reserved name for a value supplied to the factory
28     title: File/URL
29     type: string
30     description: |
31       A file name specification or URL in the form:
32       [{protocol}|{format}]:{resource}[?{format-parameter}[&{format-parameter}...]]
33       For example, video4linux2:/dev/video1?width=320&height=240
34       Note: on the bash command line, & must be escaped as '\&'.
35       Use 'f-list' to see a list of supported file formats.
36       Use 'vcodec-list' to see a list of supported video decoders.
37       Use 'acodec-list' to see a list of supported audio decoders.
38     readonly: no
39     required: yes
40     mutable: no
41     widget: fileopen # could provide a button to use a file-open dialog 
42
43   - identifier: audio_index # the name is the mlt_properties name
44     title: Audio index
45     type: integer
46     description: >
47       Choose the index of audio stream to use (-1 is off).
48       When this value is equal to the maximum size of a 32-bit signed integer
49       or the string "all" then all audio tracks are coalesced into a bundle of
50       channels on one audio track.
51     readonly: no
52     mutable: no
53     minimum: -1
54     default: 0
55     widget: spinner
56
57   - identifier: video_index
58     title: Video index
59     type: integer
60     description: Choose the index of video stream to use (-1 is off)
61     readonly: no
62     mutable: no
63     minimum: -1
64     default: 0
65     widget: spinner
66
67   - identifier: threads
68     title: Decoding threads
69     type: integer
70     description: Choose the number of threads to use in the decoder(s)
71     readonly: no
72     mutable: no
73     minimum: 0
74     maximum: 4
75     default: 1
76     widget: spinner
77     unit: threads # the unit is a label that appears after the widget
78
79   - identifier: force_aspect_ratio
80     title: Sample aspect ratio
81     type: float
82     description: Optionally override a (mis)detected aspect ratio
83     readonly: no
84     mutable: yes
85     minimum: 0.001 # just a UI suggestion
86     maximum: 9.999 # just a suggestion
87     # no default property means it should be blank in the UI and not applied unless provided
88
89   - identifier: source_fps
90     title: Frame rate
91     type: float
92     scale: 2 # scale is the number of digits to display after the decimal point
93     description: the framerate of the resource
94     readonly: yes
95     unit: frames/second
96
97   - identifier: seekable
98     title: Supports seeking
99     description: if the resource can seek
100     readonly: yes
101
102   - identifier: width
103     title: Width
104     type: integer
105     unit: pixels
106     readonly: yes
107
108   - identifier: height
109     title: Height
110     type: integer
111     unit: pixels
112     readonly: yes
113
114   - identifier: noimagecache
115     title: Disable image caching
116     type: integer
117     minimum: 0
118     maximum: 0
119     default: 0
120     widget: checkbox
121
122   - identifier: cache
123     title: Number of images cache
124     type: integer
125     description: >
126       By default, this producer caches images to facilitate YADIF deinterlace,
127       which needs previous and next frames. Also, caching helps with frame-
128       stepping within a player. The default number of images cached is supplied
129       by the MLT framework, which is currently 4, but you can override it
130       with this property. You can also disable caching by setting it to 0.
131       If you are using parallel processing with YADIF deinterlacing, then
132       you might need to increase caching to prevent inadvertent backward seeks.
133       One can also set this value globally for all instances of avformat by
134       setting the environment variable MLT_AVFORMAT_CACHE.
135
136   - identifier: use_pts
137     title: Use video PTS
138     description: >
139       Try to use video PTS instead of DTS for seeking and A/V synchronization.
140       This is only enabled by default for H.264 with B pictures.
141       It is recommended to not use this, in general, but it might be helpful
142       to explicity enable or disable it for some videos.
143     type: integer
144     minimum: 0
145     maximum: 1
146     widget: checkbox
147
148   - identifier: force_progressive
149     title: Force progressive
150     description: When provided, this overrides the detection of progressive video.
151     type: integer
152     minimum: 0
153     maximum: 1
154     widget: checkbox
155
156   - identifier: force_tff
157     title: Force top field first
158     description: When provided, this overrides the detected field order of interlaced video.
159     type: integer
160     minimum: 0
161     maximum: 1
162     widget: checkbox
163
164   - identifier: force_fps
165     title: Force frame rate
166     description: When provided, this attempts to override the detected frame rate of the video.
167     type: integer
168     minimum: 0
169     maximum: 1
170     widget: checkbox
171
172   - identifier: force_colorspace
173     title: Force colorspace
174     description: When provided, this overrides the detected colorspace of the video (Y'CbCr only).
175     type: integer
176     values:
177       - 240 # SMPTE 240M
178       - 601 # ITU-R BT.601
179       - 709 # ITU-R BT.709
180
181   - identifier: video_delay
182     title: Video delay
183     description: >
184       Manually adjust A/V synchronization.
185       A negative value advances the video instead of delaying it.
186     type: float
187     default: 0
188     unit: seconds
189     widget: timecode