Merge ../mlt
[melted] / src / modules / avformat / producer_avformat.yml
1 schema_version: 0.1
2 type: producer # consumer, filter, producer, or transition
3 identifier: avformat
4 title: FFmpeg Reader
5 version: 0.2.5
6 copyright: Copyright (C) 2003-2008 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 # this may produce audio
15   - Video # this may produce video
16 description: Read an audio and/or video file using FFmpeg
17 icon:
18   filename: avformat/producer.png # relative to $MLT_DATA/modules/
19   content-type: image/png
20   content-encoding: base64 # could also be hex or none if inline SVG
21   content: |
22     iVBORw0KGgoAAAANSUhEUgAAABgAAAAPCAYAAAD+pA/bAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
23     WXMAAAsSAAALEgHS3X78AAAAB3RJTUUH1gsBEgMLZIL+swAAAB10RVh0Q29tbWVudABDcmVhdGVk
24     IHdpdGggVGhlIEdJTVDvZCVuAAAEgUlEQVQ4y2VUSWwbZRT+5p/xP4v3eIntceLEThOylKgkB070
25     UAUOCNFDFYkIVeqBijMHQKiCAwLEDbVIPVQCUalFQggph6pUoWKRWoS6RCGJ04biOG7sOI638TJe
26     xjM/FwwRfKf3vve99+kd3uNubNxgVb0Km2W7Tbt06fQLpwv4G8u3k6/88nvJcXYhnJ+dGfsRR/Dl
27     8tqpfKkZJ736d++cf6nU53Nra0utTOarVrMpdCj9XFhJr2C1sQq1pZ6ac8zNAljpi7ezzc+e5Lvx
28     je29H8rlyk8DA14GAOl05tT1n6tf39uqBM69GFgAsNjvaezsvKVfuyZkKxXIi4tvknn/PCQi4cA4
29     QMQf+aIv3Nvbm0sVTGe9zfDg8eGxUrk83689eFQcyhStQLluYG+/NNfny6VSsLW5Ge3pOjSHAy2e
30     /4TwjP84KAfBKRzW99f59G7aAQCVav20SZQAtdlQbfGxteTuNACkd/dsguR8W9NNiKKEVFbjisUi
31     BQAtnz8rFAq+LgAWDjN/IpEkk97JzYQjAdkhI2fkwtVG9X0AWN+pwTA5iJSH1qEoaMZC8tFjfv3J
32     IckcdiYNk0GUZVRbXKipt5YAoP7wYZDXNKHOGKR4fCs+NbVGBpwDt3zw3VEUBbqo437qvjuXy7kr
33     HbtqWQzUJgC8Ar2Dpe1UXpgZC763W+RAOAaR2tAxRTmV3kvsJJPjSrf7umEYqAoC1NnZVCAY3CLD
34     6nBpfnC+4hJc4B08DGqc1xr1l5126RzAIHAWqCjjj1wb8eHQq9uZ6nS9a4PAmaACD8bLWN16itrG
35     hoJ8Ptw2TVjRKAZjsWUAIABACHk3RmOQ7BIyegbpg/1oqWGBoAc0U5BFAt20o1CqXSk26YLZM8Aa
36     u5AEAwKV4XQNLHpGRq5zpRJ0QuCdmUGpUPgGAAQAoKBPJ5wTyDfzKLMyGMGntRZAmIHxMA/TTnDA
37     e3FvM+siXhfMdgXjIQbmUpCvMjTa7fFG5imUdhtNSYIcCCxHx8Y6/2zgUTwNq2Nd8FIvYAHFch1d
38     RmHjuhhVfdnjI1LPYVeQaw3gsMZAmYYTk+oT1SdBkiSU6z3U6k30AHR9PrhU9WYoHP7XYHR41Jpw
39     TxSDQhAuzgXLtIMQG0RioFwuX3IrwiWPnUByDsKyGPxKB5S3Phj0UkgiRdMQ0FYcqBECFgj8GY7F
40     7vZvg/QDl+S66mg5fg2IATDBC45jkPgOJhODLa8dN4d8BJQKYN06RgfF/eNTibRpWVcdsg2MV1An
41     FJrbDfXEiWxEVdf/ZxCPxVvTnmkjqgzB4p0gMGGnPUyMjUANupNusXNHpDxYt4wR1XtrKBq9a3W0
42     B047hSg7ofUIxMlJePz+K0d/FjmahLyh146rzyUNw0Jby8LGWvckSbwcjUayx1RpzWZWELR3jZln
43     Eh8CwDFVgcLr4HpNVDtMi588ecEbCHx7dKZwNBkODed+W318Zipk3Rx1iTG9GbwYiUQMAAj53Zef
44     H2u/Ua16L4ZCgykA8A94vn/W1DdH3dK0wIdXwkNDH+E/+Avfv/E5LPIz8wAAAABJRU5ErkJggg==
45
46 notes: Implementation or additional usage notes go here.
47 bugs: # this can be just for documentation, or the tool may disclose it to help user avoid pitfalls
48   - Audio sync discrepancy with some content.
49   - Not all libavformat supported formats are seekable.
50   - >
51     Seeking is not always accurate. Sometimes it doesn't seek to I-frames so you
52     may get junk for a few frames.
53   - >
54     Fails to play beyond first frame of video of sources with PTS not starting
55     at 0 (video4linux).
56
57 parameters:
58   - identifier: argument # 'argument' is a reserved name for a value supplied to the factory
59     title: File  # the title can be used as a label for the widget
60     type: string
61     description: |
62       A file name specification or URL in the form:
63       [{protocol}|{format}]:{resource}[?{format-parameter}[&{format-parameter}...]]
64       For example, video4linux:/dev/video1?width:320&height:240
65       Note: on the bash command line, & must be escaped as '\&'.
66       Also, note the use of ':' instead of '=' for parameters.
67       Use 'f-list' to see a list of supported file formats.
68       Use 'vcodec-list' to see a list of supported video decoders.
69       Use 'acodec-list' to see a list of supported audio decoders.
70     readonly: no
71     required: yes
72     mutable: no
73     widget: fileopen # could provide a button to use a file-open dialog 
74
75   - identifier: audio_index # the name is the mlt_properties name
76     title: Audio Index
77     type: integer
78     # the description can be used in a tool tip
79     description: Choose the index of audio stream to use (-1 is off)
80     readonly: no
81     mutable: no
82     minimum: -1
83     # when maximum not specified, the scalar limit is used
84     default: 0
85     widget: spinner
86
87   - identifier: video_index
88     title: Video Index
89     type: integer
90     description: Choose the index of video stream to use (-1 is off)
91     readonly: no
92     mutable: no
93     minimum: -1
94     default: 0
95     widget: spinner
96
97   - identifier: in
98     title: In Point
99     type: time # time is not implemented, but it will correspond to the mlt_position replacement
100     description: Set the start time offset to use within the clip
101     readonly: no
102     mutable: no
103     minimum: 0
104     default: 0
105     widget: timecode # this is a special form of time value/code entry (e.g. see Kino)
106
107   - identifier: out
108     title: Out Point
109     type: time
110     description: Set the ending time offset to use within the clip
111     readonly: no
112     minimum: 0
113     mutable: no
114     widget: timecode # as opposed to time, which could be confused for a wallclock-style time widget
115
116   - identifier: threads
117     title: Decoding Threads
118     type: integer
119     description: Choose the number of threads to use in the decoder(s)
120     readonly: no
121     mutable: no
122     minimum: 0
123     maximum: 4
124     default: 1
125     widget: spinner
126     unit: threads # the unit is a label that appears after the widget
127
128   - identifier: force_aspect_ratio
129     title: Sample Aspect Ratio
130     type: float
131     description: Optionally override a (mis)detected aspect ratio
132     readonly: no
133     mutable: yes
134     minimum: 0.001 # just a UI suggestion
135     maximum: 9.999 # just a suggestion
136     # no default property means it should be blank in the UI and not applied unless provided
137
138   - identifier: resource
139     title: File
140     type: string
141     description: file or protocol specification
142     readonly: yes
143
144   - identifier: source_fps
145     title: Frame Rate
146     type: float
147     scale: 2 # scale is the number of digits to display after the decimal point
148     description: the framerate of the resource
149     readonly: yes
150     unit: frames/second
151
152   - identifier: aspect_ratio
153     title: Sample Aspect Ratio
154     type: float
155     description: >
156       The sample aspect ratio of the resource.
157       This is determined on every frame read.
158     readonly: yes
159
160   - identifier: length
161     title: Duration
162     type: time
163     description: duration
164     readonly: yes
165     widget: timecode
166
167   - identifier: seekable
168     title: Supports Seek
169     type: integer
170     description: if the resource can seek
171     readonly: yes