gpt4 book ai didi

python - 如何将 FFMPEG 导出到我的 Python 程序中?

转载 作者:行者123 更新时间:2023-12-04 22:45:20 28 4
gpt4 key购买 nike

我为 Windows 10 编写了一个 Python 程序,它将音频文件从任何支持的格式转换为 .flac,并使用 FFMPEG 进行编码。

我的电脑上安装了FFMPEG,所以在我的电脑上运行程序没有任何问题。

我使用 PyInstaller 以 .exe 格式导出我的程序,现在我想在发行版中包含 FFMPEG,这样人们就不必单独下载它来运行我的脚本。

我能否将 FFMPEG 包装/包含到我的程序中,并在需要时自动安装/使用它?怎么办?

最佳答案

如果你想在你的项目中使用外部文件,你需要将它捆绑到你的输出可执行文件中。每当您的可执行文件运行时,它都会将所有依赖项提取到临时目录中并在您的代码中使用它。为此,您可以 add-data旗帜。

首先,从 here 下载预编译的二进制文件.然后将内容提取到名为 ffmpeg 的文件夹(脚本文件旁边)。在下面的示例中,应用程序 (script.py) 尝试使用 ffplay 播放示例视频。我假设输入视频的路径将作为外部参数传递给程序。

import subprocess
import os
import sys


def resource_path(relative_path):
if hasattr(sys, '_MEIPASS'):
return os.path.join(sys._MEIPASS, relative_path)
return os.path.join(os.path.abspath("."), relative_path)


def play():
ffplay_path = "./ffmpeg/ffplay.exe"
if len(sys.argv) > 1:
file_path = sys.argv[1]
p = subprocess.Popen([resource_path(ffplay_path), file_path])
else:
print("No file passed as argument!")


if __name__ == "__main__":
play()

使用下面的命令生成可执行文件:

pyinstaller -F --add-data "./ffmpeg/*;./ffmpeg/" script.py

然后像这样使用程序:

script.exe sample.mp4

关于python - 如何将 FFMPEG 导出到我的 Python 程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56370173/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com