最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javacv ffmpeg使用原生ffmpeg命令方式

 更新時間:2024年11月07日 10:00:02   作者:搬山境KL攻城獅  
在使用javacv集成ffmpeg進(jìn)行視頻處理時,發(fā)現(xiàn)使用ffmpeg-6.0-1.5.9版本出現(xiàn)原生命令執(zhí)行失敗的問題,通過降級至ffmpeg-5.1.2-1.5.8版本,問題得到解決,此外,ffprobe可以用于獲取視頻屬性,需確保視頻片段屬性一致性

javacv ffmpeg使用原生ffmpeg命令

測試過程中,

發(fā)現(xiàn)ffmpeg-6.0-1.5.9-linux-x86_64.jar 存在問題(ffmpeg原生命令執(zhí)行失敗)

降級到ffmpeg-5.1.2-1.5.8-linux-x86_64.jar版本正常

<javacv.version>1.5.8</javacv.version>

    <dependencies>
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>javacv</artifactId>
            <version>${javacv.version}</version>
        </dependency>
        <dependency>
            <groupId>org.bytedeco</groupId>
            <artifactId>ffmpeg</aifactId>
            <version>5.1.2-${javacv.version}</version>
            <classifier>linux-x86_64</classifier>
        </dependency>
    </dependencies>

    <profiles>
        <profile>
            <id>Windows</id>
            <activation>
                <os>
                    <!-- mvn enforcer:display-info -->
                    <family>windows</family>
                </os>
            </activation>
            <dependencies>
                <dependency>
                    <groupId>org.bytedeco</groupId>
                    <artifactId>ffmpeg</artifactId>
                    <version>5.1.2-${javacv.version}</version>
                    <classifier>windows-x86_64</classifier>
                </dependency>
            </dependencies>
        </profile>
        <profile>
           <id>Mac</id>
           <activation>
               <os>
                   <!-- mvn enforcer:display-info -->
                   <family>mac</family>
               </os>
           </activation>
           <dependencies>
               <dependency>
                   <groupId>org.bytedeco</groupId>
                   <artifactId>ffmpeg</artifactId>
                   <version>5.1.2-${javacv.version}</version>
                   <classifier>macosx-x86_64</classifier>
               </dependency>
           </dependencies>
       </profile>
    </profiles>

1. ffmpeg

org.bytedeco.ffmpeg.ffmpeg
org.bytedeco.ffmpeg.ffprobe
  • 版本號
   String ffmpeg = Loader.load(org.bytedeco.ffmpeg.ffmpeg.class);
   System.out.println("ffmpeg path=>" + ffmpeg);
   ProcessBuilder pb = new ProcessBuilder(ffmpeg, "-version");
   pb.inheritIO().start().waitFor();
  • 直接拼接視頻(前提各個視頻片段幀率等屬性一致)
        // 輸入視頻文件路徑
        List<String> inputFiles = Arrays.asList("video1.mp4", "video2.mp4");
        // 輸出視頻文件路徑
        String outputFile = "output.mp4";
        // 拼接模板文件
        String modelFile = "modelFile.txt";
        // 創(chuàng)建拼接模板文件
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(modelFile))) {
            for (String inputFile : inputFiles) {
                writer.write("file '" + inputFile + "'");
                writer.newLine();
            }
        } catch (IOException e) {
            e.printStackTrace();
            return;
        }
        String ffmpeg = Loader.load(org.bytedeco.ffmpeg.ffmpeg.class);
        ProcessBuilder pb = new ProcessBuilder(ffmpeg,
                "-f", "concat",
                "-safe", "0",
                "-i", modelFile,
                "-c", "copy",
                outputFile);
        pb.inheritIO().start().waitFor();

2. ffprobe

  • 版本號
    public static void main(String[] args) throws IOException, InterruptedException {
        String ffprobe = Loader.load(org.bytedeco.ffmpeg.ffprobe.class);
        System.out.println("ffprobe path=>" + ffprobe);
        ProcessBuilder pb = new ProcessBuilder(ffprobe, "-version");
        pb.inheritIO().start().waitFor();
    }
  • 視頻屬性

更多用法:help、大模型

ffprobe -h topic
        String ffprobe = Loader.load(org.bytedeco.ffmpeg.ffprobe.class);
        ProcessBuilder pb = new ProcessBuilder(ffprobe,
                "-v", "error",
                "-print_format", "json",
                "-show_streams",
                "video1.mp4");
        pb.inheritIO().start().waitFor();

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MyBatis-Plus實現(xiàn)多表聯(lián)查的方法實戰(zhàn)

    MyBatis-Plus實現(xiàn)多表聯(lián)查的方法實戰(zhàn)

    這篇文章主要給大家介紹了關(guān)于MyBatis-Plus實現(xiàn)多表聯(lián)查的方法,MyBatis Plus是一款針對MyBatis框架的增強(qiáng)工具,它提供了很多方便的方法來實現(xiàn)多表聯(lián)查,需要的朋友可以參考下
    2023-07-07
  • Gradle build 報錯:Received status code 400 from server

    Gradle build 報錯:Received status code 400 from server

    這篇文章主要介紹了Gradle build 報錯:Received status code 400 from server,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • spring boot實現(xiàn)超輕量級網(wǎng)關(guān)的方法(反向代理、轉(zhuǎn)發(fā))

    spring boot實現(xiàn)超輕量級網(wǎng)關(guān)的方法(反向代理、轉(zhuǎn)發(fā))

    這篇文章主要介紹了spring boot實現(xiàn)超輕量級網(wǎng)關(guān)(反向代理、轉(zhuǎn)發(fā))的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-11-11
  • spring boot 自動更新靜態(tài)文件和后臺代碼的實例

    spring boot 自動更新靜態(tài)文件和后臺代碼的實例

    下面小編就為大家分享一篇spring boot 自動更新靜態(tài)文件和后臺代碼的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Spring模塊詳解之Spring ORM和Spring Transaction詳解

    Spring模塊詳解之Spring ORM和Spring Transaction詳解

    Spring ORM 是 Spring 框架的模塊之一,旨在簡化與 JPA、Hibernate、JDO 等 ORM 工具的集成,通過提供統(tǒng)一的 API 和模板類,如 HibernateTemplate 和 JpaTemplate,Spring ORM 使開發(fā)者可以更便捷地執(zhí)行數(shù)據(jù)庫操作,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • 列舉java語言中反射的常用方法及實例代碼

    列舉java語言中反射的常用方法及實例代碼

    反射機(jī)制指的是程序在運行時能夠獲取自身的信息。這篇文章主要介紹了列舉java語言中反射的常用方法,需要的朋友可以參考下
    2019-07-07
  • 詳解Springboot下載Excel的三種方式

    詳解Springboot下載Excel的三種方式

    本文給大家分享Springboot下載Excel三種方式,主要分為瀏覽器下載和代碼本地下載實現(xiàn)的方式,針對每種實現(xiàn)方式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-07-07
  • Springboot整合hibernate validator 全局異常處理步驟詳解

    Springboot整合hibernate validator 全局異常處理步驟詳解

    本文分步驟給大家介紹Springboot整合hibernate validator 全局異常處理,補(bǔ)呢文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Java?8函數(shù)式接口之Consumer用法示例詳解

    Java?8函數(shù)式接口之Consumer用法示例詳解

    這篇文章主要為大家介紹了Java?8函數(shù)式接口之Consumer用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • java實現(xiàn)解析二進(jìn)制文件的方法(字符串、圖片)

    java實現(xiàn)解析二進(jìn)制文件的方法(字符串、圖片)

    本篇文章主要介紹了java實現(xiàn)解析二進(jìn)制文件的方法(字符串、圖片),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02

最新評論

望城县| 宜君县| 神农架林区| 得荣县| 蒙山县| 集贤县| 大理市| 玛纳斯县| 广德县| 新兴县| 合水县| 丹棱县| 尤溪县| 邛崃市| 额尔古纳市| 汝州市| 桓仁| 玛沁县| 新沂市| 尤溪县| 吉林省| 定襄县| 府谷县| 家居| 昭苏县| 北碚区| 上杭县| 于田县| 宾阳县| 永清县| 措美县| 青阳县| 龙陵县| 峡江县| 图片| 洪湖市| 卓资县| 湘潭市| 鹿泉市| 那坡县| 武功县|