
    4pf                         d dl mZ d dlmZ ddlmZ ddlmZmZmZm	Z	m
Z
mZ d Z e            d             Z e            d             Z e            d             Z e            d	             Zg d
ZdS )    )unicode_literals)
basestring   )filter_operator
GlobalNode	InputNodeMergeOutputsNode
OutputNodeoutput_operatorc                     | |d<   |                     dd          }|rd|v rt          d          ||d<   t          t          j        |                                          S )a>  Input file URL (ffmpeg ``-i`` option)

    Any supplied kwargs are passed to ffmpeg verbatim (e.g. ``t=20``,
    ``f='mp4'``, ``acodec='pcm'``, etc.).

    To tell ffmpeg to read from stdin, use ``pipe:`` as the filename.

    Official documentation: `Main options <https://ffmpeg.org/ffmpeg.html#Main-options>`__
    filenamefNformat*Can't specify both `format` and `f` kwargskwargs)pop
ValueErrorr   input__name__stream)r   r   fmts      N/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/ffmpeg/_ffmpeg.pyr   r      sn     "F:
**S$

C
 vIJJJxU^F333::<<<    c                 \    t          | t          j        |                                          S )zCAdd extra global command-line argument(s), e.g. ``-progress``.
    )r   global_argsr   r   )r   argss     r   r   r   #   s%     fk2D99@@BBBr   c                 ^    t          | t          j        dg                                          S )zOverwrite output files without asking (ffmpeg ``-y`` option)

    Official documentation: `Main options <https://ffmpeg.org/ffmpeg.html#Main-options>`__
    z-y)r   overwrite_outputr   r   )r   s    r   r   r   *   s(     f.7$@@GGIIIr   c                  Z    t          | t          j                                                  S )z9Include all given outputs in one ffmpeg command line
    )r	   merge_outputsr   r   )streamss    r   r!   r!   3   s#     G]%;<<CCEEEr   c                  l   t          |           } d|vrBt          | d         t                    st          d          |                     d          |d<   | }|                    dd          }|rd|v rt          d          ||d<   t          |t          j        |                                          S )	a?  Output file URL

    Syntax:
        `ffmpeg.output(stream1[, stream2, stream3...], filename, **ffmpeg_args)`

    Any supplied keyword arguments are passed to ffmpeg verbatim (e.g.
    ``t=20``, ``f='mp4'``, ``acodec='pcm'``, ``vcodec='rawvideo'``,
    etc.).  Some keyword-arguments are handled specially, as shown below.

    Args:
        video_bitrate: parameter for ``-b:v``, e.g. ``video_bitrate=1000``.
        audio_bitrate: parameter for ``-b:a``, e.g. ``audio_bitrate=200``.
        format: alias for ``-f`` parameter, e.g. ``format='mp4'``
            (equivalent to ``f='mp4'``).

    If multiple streams are provided, they are mapped to the same
    output.

    To tell ffmpeg to write to stdout, use ``pipe:`` as the filename.

    Official documentation: `Synopsis <https://ffmpeg.org/ffmpeg.html#Synopsis>`__
    r   zA filename must be providedr   Nr   r   r   )	list
isinstancer   r   r   r
   outputr   r   )streams_and_filenamer   r"   r   s       r   r'   r'   :   s    0   455.r2J?? 	<:;;;155b99z"G
**S$

C
 vIJJJxgvv>>>EEGGGr   )r   r!   r'   r   N)
__future__r   past.builtinsr   _utilsnodesr   r   r   r	   r
   r   r   r   r   r!   r'   __all__ r   r   <module>r/      sI   ' ' ' ' ' ' $ $ $ $ $ $                     = = =& C C C J J J F F F #H #H #HL C
B
Br   