]> git.sesse.net Git - mlt/blob - src/modules/avformat/producer_avformat.yml
the recent A/V sync overhaul needed some additional work
[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: force_progressive
137     title: Force progressive
138     description: When provided, this overrides the detection of progressive video.
139     type: integer
140     minimum: 0
141     maximum: 1
142     widget: checkbox
143
144   - identifier: force_tff
145     title: Force top field first
146     description: When provided, this overrides the detected field order of interlaced video.
147     type: integer
148     minimum: 0
149     maximum: 1
150     widget: checkbox
151
152   - identifier: force_fps
153     title: Force frame rate
154     description: When provided, this attempts to override the detected frame rate of the video.
155     type: integer
156     minimum: 0
157     maximum: 1
158     widget: checkbox
159
160   - identifier: force_colorspace
161     title: Force colorspace
162     description: When provided, this overrides the detected colorspace of the video (Y'CbCr only).
163     type: integer
164     values:
165       - 240 # SMPTE 240M
166       - 601 # ITU-R BT.601
167       - 709 # ITU-R BT.709
168
169   - identifier: video_delay
170     title: Video delay
171     description: >
172       Manually adjust A/V synchronization.
173       A negative value advances the video instead of delaying it.
174     type: float
175     default: 0
176     unit: seconds
177     widget: timecode