Skip to content

Handling errors

If an error occurs during ffmpeg's execution, you can use try: except: to get more information about the error.

from ffmpeg import FFmpeg, FFmpegFileNotFound, FFmpegInvalidCommand


def main():
    try:
        ffmpeg = FFmpeg().input("non-existent.mp4").output("output.mp4")
        ffmpeg.execute()
    except FFmpegFileNotFound as exception:
        print("An exception has been occurred!")
        print("- Message from ffmpeg:", exception.message)
        print("- Arguments to execute ffmpeg:", exception.arguments)

    try:
        ffmpeg = FFmpeg().input("input.mp4", invalid="option").output("output.mp4")
        ffmpeg.execute()
    except FFmpegInvalidCommand as exception:
        print("An exception has been occurred!")
        print("- Message from ffmpeg:", exception.message)
        print("- Arguments to execute ffmpeg:", exception.arguments)


if __name__ == "__main__":
    main()
import asyncio

from ffmpeg import FFmpegFileNotFound, FFmpegInvalidCommand
from ffmpeg.asyncio import FFmpeg


async def main():
    try:
        ffmpeg = FFmpeg().input("non-existent.mp4").output("output.mp4")
        await ffmpeg.execute()
    except FFmpegFileNotFound as exception:
        print("An exception has been occurred!")
        print("- Message from FFmpeg:", exception.message)
        print("- Arguments to execute ffmpeg:", exception.arguments)

    try:
        ffmpeg = FFmpeg().input("input.mp4", invalid="option").output("output.mp4")
        await ffmpeg.execute()
    except FFmpegInvalidCommand as exception:
        print("An exception has been occurred!")
        print("- Message from FFmpeg:", exception.message)
        print("- Arguments to execute ffmpeg:", exception.arguments)


if __name__ == "__main__":
    asyncio.run(main())