繁体   English   中英

ffmpeg-python 'OSError[2] 没有这样的文件或目录' 错误

[英]ffmpeg-python 'OSError[2] No such file or directory' error

我最近想将 ffmpeg-python 与我的 dockerized flask 应用程序集成。 我在我的 Mac 上通过自制软件安装了 ffmpeg。 它在我手动执行时有效,但在我的项目中。 我无法运行 ffmpeg。 它抛出OSError[2]: No such file or directory这是我在views.py中的代码:

@admin.route('/partners/upload_videos')
def partners_video_upload():

    # Uploading video using ffmpeg-python
    (ffmpeg
        .input('in.mp4')
        .output('output.mp4')
        .run()
        )


    return render_template('admin/partner/upload_videos.html')

in.mp4 视频文件与views.py*文件位于同一目录中。 我似乎无法解决问题。 我也尝试了subprocess.call()subprocess.run() 仍然存在相同的错误。

Docker 映像是一个独立的文件系统。 它运行 Linux。 您无法访问通过 Homebrew 安装的可执行文件。 所以你需要镜像中安装 ffmepg,例如如果它是一个基于 Debian 的镜像,则在DockerfileRUN apt-get install -y ffmpeg

我找到了解决方案。 默认情况下,当 ffmpeg 安装在 docker 容器中并指定in.mp4时,ffmpeg 会查看项目的根目录。 所以我们必须指定 ffmpeg 的完整路径才能找到您的输入视频。 所以我这样做了,效果很好:这是我的代码:

@admin.route('/partners/upload_videos')
def partners_video_upload():

    # Uploading video using ffmpeg-python
    (ffmpeg
        .input('.\myproject\static\videos\in.mp4')
        .output('.\myproject\static\videos\converted\output.mp4')
        .run()
        )

    return render_template('admin/partner/upload_videos.html')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM