您的位置 首页 java

如何通过ffmpeg实现音视频转码,真的实用

一、背景

偶然的机会接触了 ffmpeg ,当时是从B站下载的视频转移到笔记本上看。使用b站手机客户端下载的视频格式为m4s的两个文件(video.m4s和audio.m4s),需要转成普通播放器支持的mp4格式,得以知道支持音视频转码的 FFmpeg 这个强大的开源工具。

二、软件介绍

ffmpeg支持windows、 Linux 和mac,安装简单,使用方便。

Windows:

官网ffmpeg.org/ 下载,官网只提供源码,初次学习可以从 github 下载编译后的 可执行文件 github.com/BtbN/FFmpeg… ,下载后解压即可使用,目录结果如下:

bin 目录下是可执行文件:

ffmpeg:

ffmepeg用于音视频转码,文档地址:ffmpeg.org/ffmpeg.html

进入bin目录执行ffmpeg检验是否安装成功,如下图:

将音频视频合并输出到mp4,使用ffmpeg,指令:

 ffmpeg -i video.m4s -i audio.m4s -c:v  copy  -strict experimental 输出名.mp4
复制代码  

ffmpeg主要是通过命令操作,如获取视频信息:

 ffmpeg -i video.avi
复制代码  

音频格式转MP3:

 ffmpeg -v error -i input output.mp3
复制代码  

ffplay:

ffplay用来音视频播放,文档地址:ffmpeg.org/ffplay.html

 ffplay.exe test.mp4
复制代码  

弹出播放窗口,如下图

ffprobe:

ffprobe主要用来查看多媒体文件的信息,文档地址:ffmpeg.org/ffprobe.htm…

 ffprobe.exe test.mp4
复制代码  

获取音视频总体信息: 播放时长20.35s,从0秒开始,速率为6322kb/s

部分参数:

-v 日志级别(取值:error、warning、info等)

-pint_format 输出格式(取值:defalut、 csv json 、xml等)

linux:

Linux使用规则跟windows类似,以下介绍下linux环境下安装步骤:

1.安装Nux Dextop YUM

由于 CentOS 没有官方FFmpeg rpm软件包。但是,我们可以使用第三方YUM源(Nux Dextop)完成此工作。

CentOS 7

 sudo rpm --import 
复制代码  
 sudo rpm -Uvh 
复制代码  

可能出现问题:

(1)缺少依赖

处理方法:

 rpm -Uvh   
复制代码  

(2)执行命令报错,状态码127

处理方法: 共享软件 的共享库

  • 执行命令vim /etc/ld.so.conf.d/ffmpeg.conf
  • 然后添加内容ffmpeg下的lib路径(如/ root /ffmpeg/lib),之后保存并退出
  • 然后执行ldconfig使配置生效即可

CentOS 6

 sudo rpm --import 
复制代码  
 sudo rpm -Uvh 
复制代码  

2.安装FFmpeg 和 FFmpeg开发包

 sudo yum install ffmpeg ffmpeg-devel -y
复制代码  

三、 Java 示例

windows环境运行 批处理 命令的方式,linux环境执行 shell 脚本:

 import org. apache .commons.exec.CommandLine;
import org.apache.commons.exec.DefaultExecutor;

public  static   void  main(String[] args) throws  Exception  {
    String batPath = "F:ffmpeg22e12ea6a66141668d2391d5a6d30b76.bat";
    Default executor  executor = new DefaultExecutor();
    CommandLine line = new CommandLine(batPath);
    executor.execute(line);
}

复制代码  

bat 文件内容(即需运行的命令):

  E:ffmpegbinffmpeg.exe -v error -i "F:音频1.aac" "F:音频\ffmpeg1.mp3"
复制代码  

四、总结

以上内容只是简单介绍ffmpeg软件基本使用方法,想要集成到公司产品中还需要一定的前端、运维等相关知识等。网络上搜寻一番,发现市面上已经有不少类似产品,集成了大部分文档转码,并实现在线预览在线播放等功能。推荐下 文档在线预览-永中DCS官网可直接体验效果,另外文档格式转换_ 永中 云服务平台 适合直接集成到企业生产环境,比如企业邮箱,oa等。

文章来源:智云一二三科技

文章标题:如何通过ffmpeg实现音视频转码,真的实用

文章地址:https://www.zhihuclub.com/185706.shtml

关于作者: 智云科技

热门文章

发表回复

您的电子邮箱地址不会被公开。

网站地图