使用动态模型调用ffmpeg

XWorker封装了ffmpeg调用接口,可以通过模型使用ffmpeg。

1.封装ffmepg的调用模型

    ffmpeg的调用模型的路径是xworker.tools.ffmpeg.FFmpeg,模型可以在XWorker中查看,这里只是简单说明。

FFmpeg

    如上图:

  • ffmpegPath是ffmpeg的安装路径,可以在这里设置,也可以从配置模型中获取。
  • ffmpeg动作的原理是获取commands,commands参数是ffmpeg调用的参数,最后通过exec起一个进程。
  • 点击run方法节点,可以通过菜单打开源码,本文就不详细说明了。

2.使用ffmpeg模型    

2.1.通过向导来生成参数

    ffmpeg有很多参数,如何使用它们呢?可以通过向导来帮助使用ffmpeg。

   选择一个向导。

    通过向导可以生成执行的commands参数。

    生成了参数之后,就可以执行ffmepg动作模型了。

2.2.批处理示例

    把ffmpeg封装为动作模型后,就可以在动作模型中来调用它了。

<?xml version="1.0" encoding="utf-8"?>

<FileIterator descriptors="xworker.io.FileUtilActions/@FileIterator" dir="./"
     includePattern=".*mp4">
    <ChildAction>
        <FFmpeg name="thumbnail" _xmeta_id_="FFmpeg" descriptors="xworker.tools.ffmpeg.FFmpeg">
            <commands><![CDATA[template:-i
${file.getPath()}
-ss
30
-y
-vframes
1
-an
.\${file_index}.png]]></commands>
        </FFmpeg>
    </ChildAction>
</FileIterator>

    上面使用FileIterator模型来遍历当前目录和子目录下的mp4文件,然后调用FFmpeg模型生成mp4的第30秒的图像保存为png。

3.经验和知识

    通过本文希望大家可以对动态模型有更多的了解。

  • 通过模型可以封装各种API和功能模块,模型封装后就可以和其它模型一起使用了。
  • 动态模型可以保存经验和知识,比如每一个人都可以为ffmpeg模型添加向导,通过向导可以更方便的使用模型。除了向导,还可以添加文档等等。

   通过模型保存经验和知识是XWorker和动态模型的目的,希望你能够了解并加入我们。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值