【问题标题】:Pydub opens fmpeg consoles in exe (pyinstaller)Pydub 在 exe (pyinstaller) 中打开 fmpeg 控制台
【发布时间】:2021-09-26 14:35:45
【问题描述】:

试图制作一个exe。 项目用到了很多包,比如pydub。 我认为 .exe 中的 pydub 会打开 ffmpeg 控制台。

如何防止 PyQt5 应用显示 cmd 窗口?

编辑:观看视频了解我的意思:https://www.youtube.com/watch?v=9M3rAhZ7f0o

这是 print(conversion_command) 的输出

['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/飞机着陆 daniel simion.mp3', '-acodec', 'pcm_s16le', ' -vn','-f','wav','-'] ['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/baby 音乐盒 daniel simion.mp3', '-acodec', 'pcm_s16le', '-v n', '-f', 'wav', '-'] ['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/cartoon bird 2 daniel simion.mp3', '-acodec', 'pcm_s16le', '- vn','-f','wav','-'] ['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/卡通电话 daniel simion.mp3', '-acodec', 'pcm_s16le', '-vn', '-f', 'wav', '-'] ['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/funny voices daniel simon.mp3', '-acodec', 'pcm_s16le', '-vn', '-f', 'wav', '-'] ['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/News Intro Maximilien 1801238420.mp3', '-acodec', 'pcm_s16le', '-vn', '-f', 'wav', '-'] ['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/旧汽车引擎 daniel simion.mp3', '-acodec', 'pcm_s16le', '-v n', '-f', 'wav', '-'] ['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/old school bell daniel_simon.mp3', '-acodec', 'pcm_s16le', '-v n', '-f', 'wav', '-'] ['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/sms alert 5 daniel simon.mp3', '-acodec', 'pcm_s16le', '-vn', '-f', 'wav', '-'] ['ffmpeg', '-y', '-f', 'mp3', '-i', 'C:/python/scripts/Papinhio player/src/diske t_box/sound_clips/Sony Battery AM Radio Tuning 1 SailorMoonFan 222190110.mp3', ' -acodec','pcm_s16le','-vn','-f','wav','-']

此输出位于程序的开头。

【问题讨论】:

  • pydub 是打开控制台的那个,不是 Qt。所以 Qt 不能也不应该做任何事情来解决外部问题。
  • 看起来 pydub 正在使用子进程打开 ffmpeg。见here。您需要对其进行修改以传递禁用控制台的 STARTUPINFO。见here
  • @NickODell:查看更新中的视频。
  • @ChrisP 我看了视频。它应该传达什么?
  • 没什么可说的。我试试这个:conversion_command.insert(1,"taskkill //F //IM C://mingw64//bin//"+program_name+".exe") 但我收到了一个找不到文件的错误。

标签: python msys pydub


【解决方案1】:

我更改了行:文件C:/msys64/mingw64/lib/python3.8/subprocess.py'的第740行

我将 creationflags 的默认值(为零)设置为 creationflags=0x08000000。

所以现在没有控制台(如图所示(如我所见))。

非常感谢各位。

【讨论】:

    猜你喜欢
    • 2022-01-17
    • 2017-02-26
    • 1970-01-01
    • 2022-10-21
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多