GitHub
github.com › jonghwanhyeon › python-ffmpeg
GitHub - jonghwanhyeon/python-ffmpeg: A python binding for FFmpeg which provides sync and async APIs · GitHub
from ffmpeg import FFmpeg, Progress def main(): ffmpeg = ( FFmpeg() .option("y") .input( "rtsp://username:password@127.0.0.1/cam", rtsp_transport="tcp", rtsp_flags="prefer_tcp", ) .output("output.mp4", vcodec="copy") ) @ffmpeg.on("progress") def time_to_terminate(progress: Progress): if progress.frame > 200: ffmpeg.terminate() ffmpeg.execute() if __name__ == "__main__": main() import asyncio from ffmpeg import Progress from ffmpeg.asyncio import FFmpeg async def main(): ffmpeg = ( FFmpeg() .option("y") .input( "rtsp://username:password@127.0.0.1/cam", rtsp_transport="tcp", rtsp_flags="prefer_tcp", ) .output("output.mp4", vcodec="copy") ) @ffmpeg.on("progress") def time_to_terminate(progress: Progress): if progress.frame > 200: ffmpeg.terminate() await ffmpeg.execute() if __name__ == "__main__": asyncio.run(main())
Starred by 382 users
Forked by 52 users
Languages Python
GitHub
github.com › regulad › asyncio-ffmpeg
GitHub - regulad/asyncio-ffmpeg: Async Python bindings for FFmpeg - with complex filtering support
November 7, 2025 - Async Python bindings for FFmpeg - with complex filtering support - regulad/asyncio-ffmpeg
Author regulad
FFmpeg Python
kkroening.github.io › ffmpeg-python
ffmpeg-python: Python bindings for FFmpeg — ffmpeg-python documentation
process = ( ffmpeg .input('pipe:', format='rawvideo', pix_fmt='rgb24', s='{}x{}'.format(width, height)) .output(out_filename, pix_fmt='yuv420p') .overwrite_output() .run_async(pipe_stdin=True) ) process.communicate(input=input_data)
GitHub
github.com › kkroening › ffmpeg-python › issues › 200
Asyncio support async/await · Issue #200 · kkroening/ffmpeg-python
May 4, 2019 - process = await ( ffmpeg .input('input.mp4') .output('pipe:', format='rawvideo', pix_fmt='rgb24')['v'] .run_asyncio(pipe_stdout=True, quiet=False) ) while True: frame_bytes = await process.stdout.read(video_frame_size) if len(frame_bytes) == 0: break await process.wait()
Author akolpakov
GitHub
github.com › yukihiko-shinoda › asyncffmpeg
GitHub - yukihiko-shinoda/asyncffmpeg: Supports async / await pattern for FFmpeg operations. · GitHub
This package supports FFmpeg asynchronously invoke with async / await pattern wrapping ffmpeg.run_async() of ffmpeg-python and returned subprocess.Popen.
Starred by 19 users
Forked by 2 users
Languages Python 98.6% | Dockerfile 1.4%
GitHub
github.com › sumebrius › python-ffmpeg-asyncio
GitHub - sumebrius/python-ffmpeg-asyncio
A fork of the excellent python-ffmpeg binding for FFmpeg, updated for native async API support only.
Author sumebrius
GitHub
github.com › regulad › asyncio-ffmpeg › blob › asyncio › README.md
asyncio-ffmpeg/README.md at asyncio · regulad/asyncio-ffmpeg
Async Python bindings for FFmpeg - with complex filtering support - asyncio-ffmpeg/README.md at asyncio · regulad/asyncio-ffmpeg
Author regulad
GitHub
github.com › kkroening › ffmpeg-python › blob › master › ffmpeg › _run.py
ffmpeg-python/ffmpeg/_run.py at master · kkroening/ffmpeg-python
""" if isinstance(cmd, ... quiet=False, overwrite_output=False, cwd=None, ): """Asynchronously invoke ffmpeg for the supplied node graph....
Author kkroening
PyPI
pypi.org › project › asyncffmpeg
asyncffmpeg · PyPI
This package supports FFmpeg asynchronously invoke with async / await pattern wrapping ffmpeg.run_async() of ffmpeg-python and returned subprocess.Popen.
» pip install asyncffmpeg
Published Feb 24, 2026
Version 1.3.1
GitHub
github.com › kkroening › ffmpeg-python › blob › master › examples › README.md
ffmpeg-python/examples/README.md at master · kkroening/ffmpeg-python
packet_size = 4096 process = ( ffmpeg .input('rtsp://%s:8554/default') .output('-', format='h264') .run_async(pipe_stdout=True) ) while process.poll() is None: packet = process.stdout.read(packet_size) try: tcp_socket.send(packet) except socket.error: process.stdout.close() process.wait() break
Author kkroening
GitHub
github.com › kkroening › ffmpeg-python › tree › master › examples
ffmpeg-python/examples at master · kkroening/ffmpeg-python
packet_size = 4096 process = ( ffmpeg .input('rtsp://%s:8554/default') .output('-', format='h264') .run_async(pipe_stdout=True) ) while process.poll() is None: packet = process.stdout.read(packet_size) try: tcp_socket.send(packet) except socket.error: process.stdout.close() process.wait() break
Author kkroening
GitHub
github.com › kkroening › ffmpeg-python › blob › master › ffmpeg › tests › test_ffmpeg.py
ffmpeg-python/ffmpeg/tests/test_ffmpeg.py at master · kkroening/ffmpeg-python
'ffmpeg.old', '-i', 'dummy.mp4', 'dummy2.mp4', ] · · @pytest.mark.parametrize('pipe_stdin', [True, False]) @pytest.mark.parametrize('pipe_stdout', [True, False]) @pytest.mark.parametrize('pipe_stderr', [True, False]) @pytest.mark.parametrize('cwd', [None, '/tmp']) def test__run_async(mocker, pipe_stdin, pipe_stdout, pipe_stderr, cwd): process__mock = mock.Mock() popen__mock = mocker.patch.object(subprocess, 'Popen', return_value=process__mock) stream = _get_simple_example() process = ffmpeg.run_async( stream, pipe_stdin=pipe_stdin, pipe_stdout=pipe_stdout, pipe_stderr=pipe_stderr, cwd=cwd, ) assert process is process__mock ·
Author kkroening
Readthedocs
python-ffmpeg.readthedocs.io › en › stable › examples › asynchronous-listeners
Asynchronous listeners - python-ffmpeg - Read the Docs
A python binding for FFmpeg which provides sync and async APIs
PyPI
pypi.org › project › ffmpeg-asyncio
ffmpeg-asyncio · PyPI
May 18, 2024 - A fork of the excellent python-ffmpeg binding for FFmpeg, updated for native async API support only.
» pip install ffmpeg-asyncio
Published Jul 09, 2024
Version 0.1.3
GitHub
github.com › kkroening › ffmpeg-python › issues › 195
quiet mode for run_async method might cause ffmpeg process to stick. · Issue #195 · kkroening/ffmpeg-python
April 19, 2019 - But I found that setting the parameter "quiet" of the encoder process to True (which set both stdout and stderr to PIPE) will cause the ffmpeg process to stick at some stage ( and in this case, I cannot write anything into its stdin). If I leave "quiet" to default or set both pipe_stdout and pipe_stderr to False, everything goes well. I tried to edit the run_async function, changing it from
Author ArchieMeng
Stack Overflow
stackoverflow.com › questions › 65747723 › run-ffmpeg-in-an-async-subprocess-then-kill-after-condition-complete
python - Run FFMPEG in an Async Subprocess then Kill after condition complete? - Stack Overflow
How to gracefully close an ffmpeg process running in background without corrupting the encoded video file? ... Python running a cmd command(ffmpeg) with subprocess and wait for cmd to close before executing some code
Readthedocs
python-ffmpeg.readthedocs.io
python-ffmpeg
python-ffmpeg is a python binding for FFmpeg which provides sync and async APIs. To install python-ffmpeg, simply use pip: $ pip install python-ffmpeg · Synchronous APIAsynchronous API ·
PyPI
pypi.org › project › ffmpy3
ffmpy3 · PyPI
ffmpy3 is a fork of ffmpy, a simplistic FFmpeg command line wrapper. ffmpy implements a Pythonic interface for executing FFmpeg via command line and uses Python’s subprocess module for synchronous execution.
» pip install ffmpy3
Medium
kitfucoda.medium.com › video-data-io-through-ffmpeg-subprocess-c5f1ee42e43d
Video data IO through ffmpeg subprocess | by KitFu Coda | Medium
December 18, 2024 - import httpx client = httpx.AsyncClient() async def write_input( client: httpx.AsyncClient, video_link: str, process: asyncio.subprocess.Process ) -> None: async with client.stream("GET", video_link) as response: async for chunk in response.aiter_raw(1024): print(chunk) # this is the downloaded video file, in chunks · We worry about the actual processing later, for now we would just get the code to print the chunks to the screen. Next we write a function to call ffmpeg, through asyncio.create_subprocess_exec