相同的 FFmpeg 命令,命令行中运行很快, Flutter 中运行巨慢,如何 Debug?

23 天前
 cxxnullptr

就是一个简单的图片加水印任务:

ffmpeg -hide_banner -y -i image.AVIF -i watermark.png -filter_complex "overlay=(main_w-overlay_w-50):(main_h-overlay_h-50)" output.AVIF

命令行中运行几乎秒完成,但在 Flutter 中几乎要半分钟。

await Process.run('ffmpeg', [
    '-hide_banner',
    '-y',
    '-i',
    'image.AVIF',
    '-i',
    'watermark.png',
    '-filter_complex',
    'overlay=(main_w-overlay_w-50):(main_h-overlay_h-50)',
    'output.AVIF',
]);

整了一天了,完全没有头绪,求教,求教

864 次点击
所在节点    Flutter
2 条回复
jifengg
22 天前
你可以试试加 “-v 0”,把 ffmpeg 的输出完全关掉。
有可能是进程的输出流(包括 Error 流)阻塞了。

如果可以,但是你希望保留输出,那么研究一下 dart 里如何把 Process 的输出读取出来
cxxnullptr
22 天前
@jifengg 好的,谢谢,我试一试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1069929

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX