fluent-ffmpeg 常用函数

2019-10-19 11:11:03

参考地址 fluent-ffmpeg 常用函数

最近项目频繁用到fluent-ffmpeg,将目前使用到的函数进行总结。

首先引入fluent-ffmpeg模块:

var ffmpeg = require('fluent-ffmpeg');

1.函数 ffmpeg.ffprobe

  ffmpeg.ffprobe查看音频视频文件信息并输出为json格式

  format 里面包含比特率,时长,文件大小等信息

  streams,包含视频音频信息详情,一般为两个stream值。

 

 2 改变文件属性

  save时可另存文件,改变源文件属性。

  inputFPS(25)可改变帧速率;

  seek(10)设置开始时间,从第10s开始保存;

  duration(10)设置总时长;

  input( "work/music/Enya - One By One.mp3")可合并音频;

  aspect("16:9") 设置视频横纵比;

  withSize('1600x900')设置视频宽高;

  withSize('1600x?').aspect('12:8').autoPad();设置比例后,宽高值可以只设置一个值。

如果原视频宽高比和转换的宽高比不一致,可以设置保持原始比例,不进行拉伸,用autoPad函数。

如下截图,主要起作用的是 -filter:v 的配置scale和pad的值,scale 保证了不拉伸,pad设置填充位置

3 将图片合成视频

  将图片按规则input到ffmpeg即可存成你所需要的格式

  var proc = ffmpeg('work/video/0000/frame%d.png').inputFPS(25).save('work/music/target.avi');

4 合并视频  

  var file1 = "1.mp4";
  var file2 = "2.mp4";
  var outPath = "out.mp4";
  var proc = ffmpeg(file1)
  .input(file2).mergeToFile(outPath);


  • 2020-12-13 19:44:07

    运行中的docker实例添加-v挂载文件夹

    之前有人问我Docker容器启动之后还能否再挂载卷,考虑到mnt命名空间的工作原理,我一开始认为这很难实现。不过现在Petazzoni通过使用nsenter和绑定挂载实现了这个需求,你可以在你的环境中测试下。

  • 2020-12-13 19:49:32

    Docker run命令详解

    命令格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Usage: Run a command in a new container 中文意思为:通过run命令创建一个新的容器(container)

  • 2020-12-13 20:15:43

    解决gitlab限制上传文件大小的问题

    服务端的限制有两个地方一个是gitlab本身,另外一个是gitlab使用的nginx。 gitlab本身也是很好解决的,使用管理员用户登录gitlab在设置Account and limit中加大Maximum attachment size (MB)和Maximum push size (MB)即可解决 nginx的话修改gitlab.rb这个文件中

  • 2020-12-14 15:06:50

    youtube-dl视频下载神器

    youtube-dl 是一款命令行下的视频下载工具,看着名称像是 YouTube 下载工具,其实这款工具不仅支持 YouTube ,还支持非常多的视频网站,比如优酷、爱奇艺、 bilibili 等,在写这篇日志的时候,暂时不支持腾讯视频。

  • 2020-12-15 20:06:43

    更多WebTorrent例子

    WebTorrent是第一个运行在浏览器的Torrent客户端。是的,没错。就是浏览器! 它完全是用JavaScript编写的,并使用WebRTC实现了真正的点对点传输。不需要浏览器插件、扩展或安装。 使用开放的Web标准,WebTorrent将网站用户连接在一起,形成一个分布式的、分散的Browser-to-browser网络,以实现高效的文件传输。