javacv ffmpeg使用笔记 (补充中…)

作者 : admin 本文共1679个字,预计阅读时间需要5分钟 发布时间: 2024-06-16 共1人阅读

javacv ffmpeg使用笔记

    • 一、maven依赖
    • 二、示例代码
      • 1. 获取视频时长
    • 三、小技巧

一、maven依赖

使用javacv ffmpeg并指定classifier之后,就不需要额外安装ffmpeg软件(jar包中已经内置)了。

  • 全量依赖包(不推荐)安装包总大小超过1G
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacv-platform</artifactId>
            <version>${javacv.version}</version>
        </dependency>
  • 最小化安装

可使用mvn enforcer:display-info 查看当前操作系统信息

javacv ffmpeg使用笔记 (补充中…)插图

<javacv.version>1.5.9</javacv.version>
<dependencies>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>${javacv.version}</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg</artifactId>
<version>6.0-${javacv.version}</version>
<classifier>linux-x86_64</classifier>
</dependency>
</dependencies>
<profiles>
<profile>
<id>Windows</id>
<activation>
<os>

<family>windows</family>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg</artifactId>
<version>6.0-${javacv.version}</version>
<classifier>windows-x86_64</classifier>
</dependency>
</dependencies>
</profile>
<profile>
<id>Mac</id>
<activation>
<os>

<family>mac</family>
</os>
</activation>
<dependencies>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg</artifactId>
<version>6.0-${javacv.version}</version>
<classifier>macosx-x86_64</classifier>
</dependency>
</dependencies>
</profile>
</profiles>

javacv ffmpeg使用笔记 (补充中…)插图(1)

二、示例代码

1. 获取视频时长

    public static void videoDuration(String videoFilePath) {
try (FFmpegFrameGrabber frameGrabber = new FFmpegFrameGrabber(videoFilePath)) {
frameGrabber.start();
int duration = frameGrabber.getLengthInVideoFrames()/ (int) frameGrabber.getFrameRate();
System.out.println(duration);
frameGrabber.stop();
} catch (FrameGrabber.Exception e) {
e.printStackTrace();
}
}

三、小技巧

  • 日志级别

static {
avutil.av_log_set_level(avutil.AV_LOG_DEBUG);
FFmpegLogCallback.set();
}
本站无任何商业行为
个人在线分享-虚灵IT资料分享 » javacv ffmpeg使用笔记 (补充中…)
E-->