【问题标题】:how to validate the video file with FFmpeg.wasm如何使用 FFmpeg.wasm 验证视频文件
【发布时间】:2021-11-02 15:40:13
【问题描述】:

我想验证用户上传的文件。所以我可以知道它是否是有效的 mp4 或任何音频类型。 我正在尝试做类似的事情。

ffmpeg -v error -i file.mp4 -f null - > error.log

当我跑步时

await ffmpeg.run(`-v error -sseof -60  -i ${file.name} -f null - > result.text`);

显示错误
[fferr] Unrecognized option 'v error -sseof -60 -i vidoe.mp4 -f null - > result.txt'.

什么是正确的方法?

【问题讨论】:

    标签: javascript ffmpeg webassembly


    【解决方案1】:

    最后,我找到了解决方案。

    在初始化createFFmpeg时,有一个属性logger需要回调函数来获取日志消息。

    • 创建事件目标以获取日志
    const logger = new EventTarget(); 
    
    • 初始化createFFmpeg
    const ffmpeg = createFFmpeg({
        log: true,
        logger: (l) => {
            logger.dispatchEvent(new CustomEvent("log", { detail: l }));
        },
    });
    
    • 加载 ffmpeg
    await ffmpeg.load();
    
    • 监听日志
    let logs = [];
    let log_func = (e)=>{
        logs.push({ type: e.detail.type, msg: e.detail.message });
    };
    logger.addEventListener("log", log_func);
    
    • 运行 ffmpeg
    ffmpeg.FS("writeFile", file.name, await fetchFile(file));
    await ffmpeg.run("-v","error","-sseof","-60","-i",file.name,"-f","null","-");
    
    • 日志
    console.log(logs);
    
    • removeEventListener
    logger.removeEventListener("log", log_func);
    

    所有日志都存储在logs数组中

    【讨论】:

      猜你喜欢
      • 2014-04-18
      • 1970-01-01
      • 1970-01-01
      • 2022-10-30
      • 2012-08-06
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      • 2015-05-28
      相关资源
      最近更新 更多