cxxnullptr
V2EX  ›  Flutter

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

  •  
  •   cxxnullptr · Sep 3, 2024 · 2342 views
    This topic created in 641 days ago, the information mentioned may be changed or developed.

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

    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',
    ]);
    

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

    2 replies    2024-09-04 11:29:13 +08:00
    jifengg
        1
    jifengg  
       Sep 4, 2024
    你可以试试加 “-v 0”,把 ffmpeg 的输出完全关掉。
    有可能是进程的输出流(包括 Error 流)阻塞了。

    如果可以,但是你希望保留输出,那么研究一下 dart 里如何把 Process 的输出读取出来
    cxxnullptr
        2
    cxxnullptr  
    OP
       Sep 4, 2024
    @jifengg 好的,谢谢,我试一试
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2748 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:37 · PVG 20:37 · LAX 05:37 · JFK 08:37
    ♥ Do have faith in what you're doing.