8000 Update docs · monir-dev/ffmpeg-python@c53907a · GitHub
[go: up one dir, main page]

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit c53907a

Browse files
committed
Update docs
1 parent 6292028 commit c53907a

File tree

4 files changed

+94
-3
lines changed

4 files changed

+94
-3
lines changed

doc/html/genindex.html

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,10 @@ <h2 id="R">R</h2>
170170
<table style="width: 100%" class="indextable genindextable"><tr>
171171
<td style="width: 33%; vertical-align: top;"><ul>
172172
<li><a href="index.html#ffmpeg.run">run() (in module ffmpeg)</a>
173+
</li>
174+
</ul></td>
175+
<td style="width: 33%; vertical-align: top;"><ul>
176+
<li><a href="index.html#ffmpeg.run_async">run_async() (in module ffmpeg)</a>
173177
</li>
174178 B41A
</ul></td>
175179
</tr></table>

doc/html/index.html

Lines changed: 89 additions & 2 deletions
F438
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,7 @@ <h1>ffmpeg-python: Python bindings for FFmpeg<a class="headerlink" href="#ffmpeg
569569
<dl class="function">
570570
<dt id="ffmpeg.run">
571571
<code class="descclassname">ffmpeg.</code><code class="descname">run</code><span class="sig-paren">(</span><em>stream_spec</em>, <em>cmd='ffmpeg'</em>, <em>capture_stdout=False</em>, <em>capture_stderr=False</em>, <em>input=None</em>, <em>quiet=False</em>, <em>overwrite_output=False</em><span class="sig-paren">)</span><a class="headerlink" href="#ffmpeg.run" title="Permalink to this definition"></a></dt>
572-
<dd><p>Ivoke ffmpeg for the supplied node graph.</p>
572+
<dd><p>Invoke ffmpeg for the supplied node graph.</p>
573573
<table class="docutils field-list" frame="void" rules="none">
574574
<col class="field-name" />
575575
<col class="field-body" />
@@ -591,14 +591,101 @@ <h1>ffmpeg-python: Python bindings for FFmpeg<a class="headerlink" href="#ffmpeg
591591
<p>Returns: (out, err) tuple containing captured stdout and stderr data.</p>
592592
</dd></dl>
593593

594+
<dl class="function">
595+
<dt id="ffmpeg.run_async">
596+
<code class="descclassname">ffmpeg.</code><code class="descname">run_async</code><span class="sig-paren">(</span><em>stream_spec</em>, <em>cmd='ffmpeg'</em>, <em>pipe_stdin=False</em>, <em>pipe_stdout=False</em>, <em>pipe_stderr=False</em>, <em>quiet=False</em>, <em>overwrite_output=False</em><span class="sig-paren">)</span><a class="headerlink" href="#ffmpeg.run_async" title="Permalink to this definition"></a></dt>
597+
<dd><p>Asynchronously invoke ffmpeg for the supplied node graph.</p>
598+
<table class="docutils field-list" frame="void" rules="none">
599+
<col class="field-name" />
600+
<col class="field-body" />
601+
<tbody valign="top">
602+
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
603+
<li><strong>pipe_stdin</strong> – if True, connect pipe to subprocess stdin (to be
604+
used with <code class="docutils literal notranslate"><span class="pre">pipe:</span></code> ffmpeg inputs).</li>
605+
<li><strong>pipe_stdout</strong> – if True, connect pipe to subprocess stdout (to be
606+
used with <code class="docutils literal notranslate"><span class="pre">pipe:</span></code> ffmpeg outputs).</li>
607+
<li><strong>pipe_stderr</strong> – if True, connect pipe to subprocess stderr.</li>
608+
<li><strong>quiet</strong> – shorthand for setting <code class="docutils literal notranslate"><span class="pre">capture_stdout</span></code> and
609+
<code class="docutils literal notranslate"><span class="pre">capture_stderr</span></code>.</li>
610+
<li><strong>**kwargs</strong> – keyword-arguments passed to <code class="docutils literal notranslate"><span class="pre">get_args()</span></code> (e.g.
611+
<code class="docutils literal notranslate"><span class="pre">overwrite_output=True</span></code>).</li>
612+
</ul>
613+
</td>
614+
</tr>
615+
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A <a class="reference external" href="https://docs.python.org/3/library/subprocess.html#popen-objects">subprocess Popen</a> object representing the child process.</p>
616+
</td>
617+
</tr>
618+
</tbody>
619+
</table>
620+
<p class="rubric">Examples</p>
621+
<p>Run and stream input:</p>
622+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">process</span> <span class="o">=</span> <span class="p">(</span>
623+
<span class="n">ffmpeg</span>
624+
<span class="o">.</span><span class="n">input</span><span class="p">(</span><span class="s1">&#39;pipe:&#39;</span><span class="p">,</span> <span class="nb">format</span><span class="o">=</span><span class="s1">&#39;rawvideo&#39;</span><span class="p">,</span> <span class="n">pix_fmt</span><span class="o">=</span><span class="s1">&#39;rgb24&#39;</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="s1">&#39;</span><span class="si">{}</span><span class="s1">x</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">width</span><span class="p">,</span> <span class="n">height</span><span class="p">))</span>
625+
<span class="o">.</span><span class="n">output</span><span class="p">(</span><span class="n">out_filename</span><span class="p">,</span> <span class="n">pix_fmt</span><span class="o">=</span><span class="s1">&#39;yuv420p&#39;</span><span class="p">)</span>
626+
<span class="o">.</span><span class="n">overwrite_output</span><span class="p">()</span>
627+
<span class="o">.</span><span class="n">run_async</span><span class="p">(</span><span class="n">pipe_stdin</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
628+
<span class="p">)</span>
629+
<span class="n">process</span><span class="o">.</span><span class="n">communicate</span><span class="p">(</span><span class="nb">input</span><span class="o">=</span><span class="n">input_data</span><span class="p">)</span>
630+
</pre></div>
631+
</div>
632+
<p>Run and capture output:</p>
633+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">process</span> <span class="o">=</span> <span class="p">(</span>
634+
<span class="n">ffmpeg</span>
635+
<span class="o">.</span><span class="n">input</span><span class="p">(</span><span class="n">in_filename</span><span class="p">)</span>
636+
<span class="o">.</span><span class="n">output</span><span class="p">(</span><span class="s1">&#39;pipe&#39;</span><span class="p">:,</span> <span class="nb">format</span><span class="o">=</span><span class="s1">&#39;rawvideo&#39;</span><span class="p">,</span> <span class="n">pix_fmt</span><span class="o">=</span><span class="s1">&#39;rgb24&#39;</span><span class="p">)</span>
637+
<span class="o">.</span><span class="n">run_async</span><span class="p">(</span><span class="n">pipe_stdout</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">pipe_stderr</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
638+
<span class="p">)</span>
639+
<span class="n">out</span><span class="p">,</span> <span class="n">err</span> <span class="o">=</span> <span class="n">process</span><span class="o">.</span><span class="n">communicate</span><span class="p">()</span>
640+
</pre></div>
641+
</div>
642+
<p>Process video frame-by-frame using numpy:</p>
643+
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">process1</span> <span class="o">=</span> <span class="p">(</span>
644+
<span class="n">ffmpeg</span>
645+
<span class="o">.</span><span class="n">input</span><span class="p">(</span><span class="n">in_filename</span><span class="p">)</span>
646+
<span class="o">.</span><span class="n">output</span><span class="p">(</span><span class="s1">&#39;pipe:&#39;</span><span class="p">,</span> <span class="nb">format</span><span class="o">=</span><span class="s1">&#39;rawvideo&#39;</span><span class="p">,</span> <span class="n">pix_fmt</span><span class="o">=</span><span class="s1">&#39;rgb24&#39;</span><span class="p">)</span>
647+
<span class="o">.</span><span class="n">run_async</span><span class="p">(</span><span class="n">pipe_stdout</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
648+
<span class="p">)</span>
649+
650+
<span class="n">process2</span> <span class="o">=</span> <span class="p">(</span>
651+
<span class="n">ffmpeg</span>
652+
<span class="o">.</span><span class="n">input</span><span class="p">(</span><span class="s1">&#39;pipe:&#39;</span><span class="p">,</span> <span class="nb">format</span><span class="o">=</span><span class="s1">&#39;rawvideo&#39;</span><span class="p">,</span> <span class="n">pix_fmt</span><span class="o">=</span><span class="s1">&#39;rgb24&#39;</span><span class="p">,</span> <span class="n">s</span><span class="o">=</span><span class="s1">&#39;</span><span class="si">{}</span><span class="s1">x</span><span class="si">{}</span><span class="s1">&#39;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">width</span><span class="p">,</span> <span class="n">height</span><span class="p">))</span>
653+
<span class="o">.</span><span class="n">output</span><span class="p">(</span><span class="n">out_filename</span><span class="p">,</span> <span class="n">pix_fmt</span><span class="o">=</span><span class="s1">&#39;yuv420p&#39;</span><span class="p">)</span>
654+
<span class="o">.</span><span class="n">overwrite_output</span><span class="p">()</span>
655+
<span class="o">.</span><span class="n">run_async</span><span class="p">(</span><span class="n">pipe_stdin</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
656+
<span class="p">)</span>
657+
658+
<span class="k">while</span> <span class="kc">True</span><span class="p">:</span>
659+
<span class="n">in_bytes</span> <span class="o">=</span> <span class="n">process1</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">read</span><span class="p">(</span><span class="n">width</span> <span class="o">*</span> <span class="n">height</span> <span class="o">*</span> <span class="mi">3</span><span class="p">)</span>
660+
<span class="k">if</span> <span class="ow">not</span> <span class="n">in_bytes</span><span class="p">:</span>
661+
<span class="k">break</span>
662+
<span class="n">in_frame</span> <span class="o">=</span> <span class="p">(</span>
663+
<span class="n">np</span>
664+
<span class="o">.</span><span class="n">frombuffer</span><span class="p">(</span><span class="n">in_bytes</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">uint8</span><span class="p">)</span>
665+
<span class="o">.</span><span class="n">reshape</span><span class="p">([</span><span class="n">height</span><span class="p">,</span> <span class="n">width</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span>
666+
<span class="p">)</span>
667+
<span class="n">out_frame</span> <span class="o">=</span> <span class="n">in_frame</span> <span class="o">*</span> <span class="mf">0.3</span>
668+
<span class="n">process2</span><span class="o">.</span><span class="n">stdin</span><span class="o">.</span><span class="n">write</span><span class="p">(</span>
669+
<span class="n">frame</span>
670+
<span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">uint8</span><span class="p">)</span>
671+
<span class="o">.</span><span class="n">tobytes</span><span class="p">()</span>
672+
<span class="p">)</span>
673+
674+
<span class="n">process2</span><span class="o">.</span><span class="n">stdin</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
675+
<span class="n">process1</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
676+
<span class="n">process2</span><span class="o">.</span><span class="n">wait</span><span class="p">()</span>
677+
</pre></div>
678+
</div>
679+
</dd></dl>
680+
594681
<dl class="function">
595682
<dt id="ffmpeg.view">
596683
<code class="descclassname">ffmpeg.</code><code class="descname">view</code><span class="sig-paren">(</span><em>stream_spec</em>, <em>detail=False</em>, <em>filename=None</em>, <em>pipe=False</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#ffmpeg.view" title="Permalink to this definition"></a></dt>
597684
<dd></dd></dl>
598685

599686
<dl class="function">
600687
<dt id="ffmpeg.probe">
601-
<code class="descclassname">ffmpeg.</code><code class="descname">probe</code><span class="sig-paren">(</span><em>filename</em><span class="sig-paren">)</span><a class="headerlink" href="#ffmpeg.probe" title="Permalink to this definition"></a></dt>
688+
<code class="descclassname">ffmpeg.</code><code class="descname">probe</code><span class="sig-paren">(</span><em>filename</em>, <em>cmd='ffprobe'</em><span class="sig-paren">)</span><a class="headerlink" href="#ffmpeg.probe" title="Permalink to this definition"></a></dt>
602689
<dd><p>Run ffprobe on the specified file and return a JSON representation of the output.</p>
603690
<table class="docutils field-list" frame="void" rules="none">
604691
<col class="field-name" />

doc/html/objects.inv

6 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)
0