ffmpeg 最新接口(Liunx与window使用ffmpeg合成)
这里用的是命令操作,没有直接使用composer的功能包,比较适合第一次使用的人,如果熟悉了后面可以自己尝试使用其他方式进行开发。(主要我懒)
- Liunx
可以使用:http://FFmpeg.org/releases/ffmpeg-4.4.tar.bz2下载安装包也可以通过连接http://ffmpeg.org/download.html登录到官网,下载压缩包
下载好后使用xshell6,连接上自己的服务器,这里我就不做教程了,会的都会不会的自己百度去。
首先输入命令cd /usr/local/
进入local文件夹后将文件上传到此处。然后解压安装包,使用命令tar -jxvf ffmpeg-4.4.tar.bz2(这里后面的ffmpeg-4.4.tar.bz2指的是文件,根据自己的文件进行修改)再进入目录cd ffmpeg-4.4
这是解压后的,解压过程就不截图了。
然后开始编译安装输入命令./configure --enable-shared && make && make install(同样不截图编译过程,编译过程会比较长时间)
如果出现报错
则需要安装yasm,官网地址:http://yasm.tortall.net/Download.html
同样输入命令cd /usr/local/,解压文件tar -zxvf yasm.tar.gz。
编译结束后,再进入文件cd yasm-1.3.0/,编译命令按顺序依次输入
./configuremake
make
make install
完成后重新进入FFmpeg目录cd /usr/local/ffmpeg-4.4,再输入
./configure --enable-shared && make && make install
完成安装后,输入命令ffmpeg查看是否安装成功
检测安装成功了,就需要更改php配置文件php.ini。需要将exec,shell_exc,proc_open,peoc_get_status函数都开放了,不能禁止。如果是使用宝塔的可以直接在所有版本的php配置中修改。
不是使用宝塔的同学可以进入cd /usr/local/php/etc,输入vim php.ini即可进行修改,(标红的地方就是你自己对应的PHP目录文件名称,不一定都是一样的)找到disable_functions =。然后看看其等号位置是否存在上述函数,有则删除即可,然后重启服务器。完成以上操作才开始可以进行代码编写。
这里只是做了简单的合并,需要注意的是mp4是不能直接合并的,需要有ts格式合并后转换为mp4格式。最后面会将合并常用的命令展示出来。具体如何更改就看小伙伴们了。
- Window下载基础版:https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip
下载完成版:https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full.7z
下载好压缩包后,解压到你要存放的盘。我这边放在了D盘
然后所有都确认。再按win R,输入cmd,打开cmd窗口后输入ffmpeg
出现如图内容则表示已经成功了,可以直接输入命令进行操作。
合并ts格式视频文件转为mp4直接输入ffmpeg -i "concat:1.ts|2.ts|3.ts|4.ts|.5.ts|" -c copy output.mp4即可。(红色部分表示合并文件,黄色部分表示合成后的文件名称-自己定)
以上就是Liunx系统与window系统使用ffmpeg合并视频的的方式以及配置了,对了,上传视频需要注意一下服务器配置的最大post的值文件上传的限制等。下面是常用的合并命令:
mp4格式转换为ts
ffmpeg -y -i 文件路径 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 生成路径文件名称.ts 例如./1ts
ts格式合并并转mp4
ffmpeg -i "concat:1.ts|2.ts|3.ts|4.ts|.5.ts|" -c copy output.mp4
mpg合并视频
ffmpeg -i "concat:./2.mpg|./1.mpg" -c copy D:\3.mpg
mpg转mp4格式
ffmpeg -i D:\3.mpg -c copy -map 0 D:\4.mp4
命令路径都是举例需要根据自己的实际路径为准
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com