Skip to content

Commit aa5c91a

Browse files
committed
doc update
1 parent 8a3bffe commit aa5c91a

10 files changed

Lines changed: 723 additions & 219 deletions

File tree

README.rst

Lines changed: 36 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -66,19 +66,18 @@ To import `ffmpegio`
6666
6767
>>> import ffmpegio
6868
69-
- `Transcoding <ex_trancode>`__
70-
- `Read Audio Files <ex_read_audio>`__
71-
- `Read Image Files / Capture Video Frames <ex_read_image>`__
72-
- `Read Video Files <ex_read_video>`__
73-
- `Read Multiple Files or Streams <ex_read_media>`__
74-
- `Write Audio, Image, & Video Files <ex_write>`__
75-
- `Filter Audio, Image, & Video Data <ex_filter>`__
76-
- `Stream I/O <ex_stream>`__
77-
- `Device I/O Enumeration <ex_devices>`__
78-
- `Progress Callback <ex_progress>`__
79-
- `Run FFmpeg and FFprobe Directly <ex_direct>`__
80-
81-
.. _ex_trancode:
69+
- `Transcoding <transcoding_>`_
70+
- `Read Audio Files <Read Audio Files_>`_
71+
- `Read Image Files / Capture Video Frames <Read Image Files / Capture Video Frames_>`_
72+
- `Read Video Files <Read Video Files_>`_
73+
- `Read Multiple Files or Streams <Read Multiple Files or Streams_>`_
74+
- `Write Audio, Image, & Video Files <Write Audio, Image, & Video Files_>`_
75+
- `Filter Audio, Image, & Video Data <Filter Audio, Image, & Video Data_>`_
76+
- `Stream I/O <Stream I/O_>`_
77+
- `Device I/O Enumeration <Device I/O Enumeration_>`_
78+
- `Progress Callback <Progress Callback_>`_
79+
- `Filtergraph Builder`_
80+
- `Run FFmpeg and FFprobe Directly <Run FFmpeg and FFprobe Directly_>`_
8281

8382
Transcoding
8483
^^^^^^^^^^^
@@ -103,8 +102,6 @@ Transcoding
103102
>>> with ffconcat: # generates temporary ffconcat file
104103
>>> ffmpegio.transcode(ffconcat, 'output.mkv', f_in='concat', codec='copy', safe_in=0)
105104
106-
.. _ex_read_audio:
107-
108105
Read Audio Files
109106
^^^^^^^^^^^^^^^^
110107

@@ -121,8 +118,6 @@ Read Audio Files
121118
>>> # filter: equalizer which attenuate 10 dB at 1 kHz with a bandwidth of 200 Hz
122119
>>> fs, x = ffmpegio.audio.read('myaudio.mp3', t=10.0, af='equalizer=f=1000:t=h:width=200:g=-10')
123120
124-
.. _ex_read_image:
125-
126121
Read Image Files / Capture Video Frames
127122
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
128123

@@ -153,8 +148,6 @@ Read Image Files / Capture Video Frames
153148
>>> I = ffmpegio.image.read('myaudio.mp3', filter_complex='showspectrumpic=s=960x540', pix_fmt='rgb24')
154149
155150
156-
.. _ex_read_video:
157-
158151
Read Video Files
159152
^^^^^^^^^^^^^^^^
160153

@@ -168,8 +161,6 @@ Read Video Files
168161
>>> fs, F = ffmpegio.video.read('myvideo.mp4', pix_fmt='rgb24', filter_complex='showspectrum=s=1280x480')
169162
170163
171-
.. _ex_read_media:
172-
173164
Read Multiple Files or Streams
174165
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
175166

@@ -189,8 +180,6 @@ Read Multiple Files or Streams
189180
>>> # rates: dict of frame rates: keys="v:0" and "v:1"
190181
>>> # data: dict of video frame arrays: keys="v:0" and "v:1"
191182
192-
.. _ex_write:
193-
194183
Write Audio, Image, & Video Files
195184
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
196185

@@ -205,8 +194,6 @@ Write Audio, Image, & Video Files
205194
>>> # create an audio file from a numpy array
206195
>>> ffmpegio.audio.write('myaudio.mp3', rate, x)
207196
208-
.. _ex_filter:
209-
210197
Filter Audio, Image, & Video Data
211198
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
212199

@@ -222,8 +209,6 @@ Filter Audio, Image, & Video Data
222209
>>> filter = "drawtext=fontsize=30:fontfile=FreeSerif.ttf:text='hello world':x=(w-text_w)/2:y=(h-text_h)/2"
223210
>>> fs_out, F_out = ffmpegio.video.filter(filter, fs_in, F_in)
224211
225-
.. _ex_stream:
226-
227212
Stream I/O
228213
^^^^^^^^^^
229214

@@ -236,7 +221,30 @@ Stream I/O
236221
>>> for frames in fin:
237222
>>> fout.write(myprocess(frames))
238223
239-
.. _ex_devices:
224+
Filtergraph Builder
225+
^^^^^^^^^^^^^^^^^^^
226+
227+
.. code-block:: python
228+
229+
>>> # build complex filtergraph
230+
>>> from ffmpegio import filtergraph as fgb
231+
>>>
232+
>>> v0 = "[0]" >> fgb.trim(start_frame=10, end_frame=20)
233+
>>> v1 = "[0]" >> fgb.trim(start_frame=30, end_frame=40)
234+
>>> v3 = "[1]" >> fgb.hflip()
235+
>>> v2 = (v0 | v1) + fgb.concat(2)
236+
>>> v5 = (v2|v3) + fgb.overlay(eof_action='repeat') + fgb.drawbox(50, 50, 120, 120, 'red', t=5)
237+
>>> v5
238+
<ffmpegio.filtergraph.Graph object at 0x1e67f955b80>
239+
FFmpeg expression: "[0]trim=start_frame=10:end_frame=20[L0];[0]trim=start_frame=30:end_frame=40[L1];[L0][L1]concat=2[L2];[1]hflip[L3];[L2][L3]overlay=eof_action=repeat,drawbox=50:50:120:120:red:t=5"
240+
Number of chains: 5
241+
chain[0]: [0]trim=start_frame=10:end_frame=20[L0];
242+
chain[1]: [0]trim=start_frame=30:end_frame=40[L1];
243+
chain[2]: [L0][L1]concat=2[L2];
244+
chain[3]: [1]hflip[L3];
245+
chain[4]: [L2][L3]overlay=eof_action=repeat,drawbox=50:50:120:120:red:t=5
246+
Available input pads (0):
247+
Available output pads: (1): (4, 1, 0)
240248
241249
Device I/O Enumeration
242250
^^^^^^^^^^^^^^^^^^^^^^
@@ -251,8 +259,6 @@ Device I/O Enumeration
251259
>>> for frame in webcam:
252260
>>> process_frame(frame)
253261
254-
.. _ex_progress:
255-
256262
Progress Callback
257263
^^^^^^^^^^^^^^^^^
258264

@@ -276,8 +282,6 @@ Progress Callback
276282
>>> for frames in fin:
277283
>>> myprocess(frames)
278284
279-
.. _ex_direct:
280-
281285
Run FFmpeg and FFprobe Directly
282286
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
283287

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
.. highlight:: python
2-
.. _detect:
2+
.. _analyze:
33

44
Data Analyses
55
=============
@@ -13,7 +13,10 @@ List of Functions
1313

1414
ffmpegio.video.detect
1515
ffmpegio.audio.detect
16-
16+
ffmpegio.analyze.run
17+
ffmpegio.analyze.MetadataLogger
1718

1819
.. autofunction:: ffmpegio.video.detect
1920
.. autofunction:: ffmpegio.audio.detect
21+
.. autofunction:: ffmpegio.analyze.run
22+
.. autoclass:: ffmpegio.analyze.MetadataLogger

docsrc/basicio.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,15 @@ Basic Functions
1818
ffmpegio.video.create
1919
ffmpegio.video.read
2020
ffmpegio.video.write
21+
ffmpegio.video.filter
2122
ffmpegio.image.create
2223
ffmpegio.image.read
24+
ffmpegio.image.filter
2325
ffmpegio.image.write
2426
ffmpegio.audio.create
2527
ffmpegio.audio.read
2628
ffmpegio.audio.write
29+
ffmpegio.audio.filter
2730
ffmpegio.open
2831
ffmpegio.transcode
2932

@@ -34,11 +37,14 @@ Basic Functions
3437
.. autofunction:: ffmpegio.video.create
3538
.. autofunction:: ffmpegio.video.read
3639
.. autofunction:: ffmpegio.video.write
40+
.. autofunction:: ffmpegio.video.filter
3741
.. autofunction:: ffmpegio.image.create
3842
.. autofunction:: ffmpegio.image.read
3943
.. autofunction:: ffmpegio.image.write
44+
.. autofunction:: ffmpegio.image.filter
4045
.. autofunction:: ffmpegio.audio.create
4146
.. autofunction:: ffmpegio.audio.read
4247
.. autofunction:: ffmpegio.audio.write
48+
.. autofunction:: ffmpegio.audio.filter
4349
.. autofunction:: ffmpegio.open
4450
.. autofunction:: ffmpegio.transcode

0 commit comments

Comments
 (0)