java如何獲取視頻文件的編解碼器代碼示例
引入jar包:
<dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platform</artifactId> <version>1.5.9</version> </dependency>
測試類
package com.jd.brand.approve.controller.approve;
import org.bytedeco.ffmpeg.global.avcodec;
import org.bytedeco.javacv.FFmpegFrameGrabber;
import java.io.File;
public class VideoDecoder {//HEVC,AAC
public static void main(String[] args) {
String videoPath = "/Users/xuhaojie/Desktop/視頻.mp4"; // 視頻文件路徑
try {
final FFmpegFrameGrabber fFmpegFrameGrabber = new FFmpegFrameGrabber(videoPath);
fFmpegFrameGrabber.start();
final int videoCodec = fFmpegFrameGrabber.getVideoCodec();
final String videoCodecName = fFmpegFrameGrabber.getVideoCodecName();
System.out.println("h264:" + avcodec.AV_CODEC_ID_H264);
System.out.println("h265:" + avcodec.AV_CODEC_ID_H265);
System.out.println("hevc:" + avcodec.AV_CODEC_ID_HEVC);
System.out.println(videoCodec);
} catch (Exception e) {
e.printStackTrace();
}
}
}
執(zhí)行結(jié)果
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/xuhaojie/Desktop/視頻.mp4':
Metadata:
major_brand : mp42
minor_version : 1
compatible_brands: isommp41mp42
creation_time : 2024-01-11T05:42:21.000000Z
Duration: 00:00:15.00, start: 0.000000, bitrate: 5703 kb/s
Stream #0:0[0x1](zho): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 124 kb/s (default)
Metadata:
creation_time : 2024-01-11T05:42:21.000000Z
handler_name : Core Media Audio
vendor_id : [0][0][0][0]
Stream #0:1[0x2](und): Video: hevc (Main 10) (hvc1 / 0x31637668), yuv420p10le(tv, bt709, progressive), 768x1366 [SAR 1:1 DAR 384:683], 5460 kb/s, 25 fps, 25 tbr, 25k tbn (default)
Metadata:
creation_time : 2024-01-11T05:42:21.000000Z
handler_name : Core Media Video
vendor_id : [0][0][0][0]
h264:27
h265:173
hevc:173
173
總結(jié)
到此這篇關(guān)于java如何獲取視頻文件的編解碼器的文章就介紹到這了,更多相關(guān)java獲取視頻編解碼器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Springboot利用Aop捕捉注解實現(xiàn)業(yè)務(wù)異步執(zhí)行
在開發(fā)過程中,盡量會將比較耗時且并不會影響請求的響應(yīng)結(jié)果的業(yè)務(wù)放在異步線程池中進行處理,那么到時什么任務(wù)在執(zhí)行的時候會創(chuàng)建單獨的線程進行處理呢?這篇文章主要介紹了Springboot利用Aop捕捉注解實現(xiàn)業(yè)務(wù)異步執(zhí)行2023-04-04
springboot3.x版本集成log4j遇到Logging?system?failed?to?initial
使用Springboot?3.x集成Log4j時可能會遇到版本沖突的問題,這通常可以通過檢查Maven依賴樹來識別,一旦發(fā)現(xiàn)沖突,將Log4j的版本統(tǒng)一更新到最新的兼容版本,例如2.21.1,即可解決問題,此方法有效解決了日志打印錯誤,是處理類似問題的一個實用參考2024-09-09
SpringBoot實現(xiàn)XSS攻擊防御的幾種方式
隨著Web應(yīng)用的普及,網(wǎng)絡(luò)安全問題也日益凸顯,跨站腳本攻擊(Cross-Site Scripting,簡稱XSS)是一種常見的Web安全漏洞,本文旨在探討如何在Spring Boot應(yīng)用程序中有效地防御XSS攻擊,我們將介紹兩種主要的防御手段:注解和過濾器,需要的朋友可以參考下2024-07-07
springBoo3.0集成knife4j4.1.0的詳細教程(swagger3)
這篇文章主要介紹了springBoo3.0集成knife4j4.1.0的詳細教程(swagger3),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07
mybatis-plus mapper中foreach循環(huán)操作代碼詳解(新增或修改)
這篇文章主要介紹了mybatis-plus mapper中foreach循環(huán)操作代碼詳解(新增或修改),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11
簡單易懂的java8新特性之lambda表達式知識總結(jié)
一直想針對lambda表達式作一個總結(jié),借助于這次公司安排的考試作一個入門式的總結(jié),對正在學(xué)習(xí)java的小伙伴們非常有幫助,需要的朋友可以參考下2021-05-05

