1 AoEiuV020 2021-07-15 09:54:29 +08:00 比如直接使用 ffmpeg 静态库,直接调方法, 但合起来就要被 GPL 病毒感染了, |
![]() | 2 no1xsyzy 2021-07-15 10:10:20 +08:00 要求用户同时安装 ffmpeg,避免每个软件自己带一份( 两个可执行文件也没什么问题, $approot/bin 下面东西多了去的软件多了去了。 |
![]() | 3 wasd6267016 2021-07-15 10:37:48 +08:00 把路径藏深点就行 别让用户乱点到问题就不大 |
![]() | 4 di94sh 2021-07-15 11:36:53 +08:00 https://github.com/imageio/imageio-ffmpeg 可以试试这个库,会自动下载对应平台的二进制版本到 site-packages/imageio-ffmpeg 下面,只有一个可执行文件, 然后调用 get_ffmpeg_exe 这个方法就可以拿到路径, 直接 subprocess.call( [get_ffmpeg_exe(), '-i', video_url, .............] ) 就能用 |
5 anai1943 OP @di94sh 谢谢你的回答,用你这个思路试了下 import imageio_ffmpeg from ffmpy3 import FFmpeg FFmpeg(executable=imageio_ffmpeg.get_ffmpeg_exe(), global_optiOns='-y', inputs={opath:None, self.videoPaths[row]: None}, outputs={root+'_tmp'+ext: '-c copy -map 0:v:0 -map 1:a:0'}) 可以正常使用,用 pyinstaller 打包应用的时候,在这卡住了 INFO: Building PKG (CArchive) PKG-00.pkg ,检查 PKG-00.pkg 发现已经有 100 多个 G 了,还在继续增长。 去掉 import imageio_ffmpeg 后,打包正常。 |
![]() | 7 di94sh 2021-07-15 16:35:26 +08:00 ![]() @di94sh #6 或者你知道你要使用那个版本的 ffmpeg 的话 https://github.com/imageio/imageio-binaries/tree/master/ffmpeg 直接 去下载对应的 可执行文件,然后当成静态文件打包进去,不过包照样巨大。 或者弄一个 安装时下载的策略: https://github.com/imageio/imageio-ffmpeg/blob/master/tasks.py#L101 |