91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

java ffmpeg實現視屏剪輯、srt字幕嵌入、視頻合成、圖片轉視頻 通過test類運行。demo基于jave的源碼。對ffmpeg的兩種系統下的執行文件進行了替換。所以ffmpeg版本是最新的。可以執行ffmpeg官網上大多數的命令

資源截圖

代碼片段和文件信息

package?com.epoint.ga.demo.ffmpeg;

import?java.io.BufferedReader;
import?java.io.File;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.lang.reflect.Method;
import?java.util.ArrayList;
import?java.util.Arrays;
import?java.util.linkedList;
import?java.util.List;
import?java.util.regex.Matcher;
import?java.util.regex.Pattern;

import?org.apache.commons.collections4.CollectionUtils;
import?org.apache.log4j.Logger;

import?com.epoint.core.utils.string.StringUtil;

import?it.sauronsoftware.jave.DefaultFFMPEGLocator;

/**
?*?主要封裝了對音視頻處理的命令執行
?*?@author?guosc
?*
?*/
public?class?MediaUtil
{
????private?static?String?FFMPEG_PATH;

????private?static?boolean?isWin?=?false;

????private?final?static?Logger?log?=?Logger.getLogger(MediaUtil.class);

????/**
?????*?初始化時利用反射獲取jave-1.0.1.jar中FFmpeg.exe的路徑
?????*?利用jave-1.0.1.jar來避免本地安裝FFmpeg.exe
?????*/
????static?{
????????DefaultFFMPEGLocator?locator?=?new?DefaultFFMPEGLocator();
????????try?{
????????????Method?method?=?locator.getClass().getDeclaredMethod(“getFFMPEGExecutablePath“);
????????????method.setAccessible(true);
????????????FFMPEG_PATH?=?(String)?method.invoke(locator);
????????????method.setAccessible(false);
????????????isWin?=?System.getProperty(“os.name“).toLowerCase().indexOf(“windows“)?!=?-1;

????????????log.info(“---?獲取FFmpeg可執行路徑成功?---?路徑信息為:“?+?FFMPEG_PATH);
????????????log.info(“---?系統是否為windows?---?“?+?isWin);

????????}
????????catch?(Exception?e)?{
????????????log.error(“---?獲取FFmpeg可執行路徑失敗!?---?錯誤信息:?“?+?e.getMessage());
????????}

????}

????/**
?????*?獲取FFmpeg程序的路徑(windows和linux環境下路徑不一樣)
?????*
?????*?@return
?????*/
????public?static?String?getFFmpegPath()?{
????????return?FFMPEG_PATH;
????}

????public?static?String?getWidthAndHeight(String?mp4Path)?{
????????List?commonds?=?new?ArrayList<>();
????????commonds.add(“-i“);
????????commonds.add(“\““?+?mp4Path?+?“\““);

????????String?result?=?executeCommand(commonds);

????????Pattern?p3?=?Pattern.compile(“(\\d{23})x(\\d{23})“);
????????Matcher?m?=?p3.matcher(result);
????????String?wh?=?““;
????????if?(m.find())?{
????????????wh?=?m.group(1)?+?““?+?m.group(2);
????????}
????????return?wh;
????}

????/**
?????*?MP4嵌入字幕
?????*?@param?mp4Path
?????*?@param?tempFloderPath
?????*?@param?targetMp4Path
?????*?@param?srtParts
?????*?@return
?????*/
????public?static?String?addSrt2Mp4(String?mp4Path?String?tempFloderPath?String?targetMp4Path?List?srtParts)?{
????????//ffmpeg?-y?-i?file1.mp4?-vf?subtitles=file1.srt?file1zimu.mp4

????????//需要生成緩存文件srt
????????if?(mp4Path?==?null?||?StringUtil.isBlank(tempFloderPath))?{
????????????throw?new?RuntimeException(“參數不對“);
????????}

????????if?(!tempFloderPath.endsWith(File.separator))?{
????????????tempFloderPath?+=?File.separator;
????????}

????????//計算視頻寬高
????????String?wh?=?getWidthAndHeight(mp4Path);
????????in

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????15866??2020-05-15?18:15??java\com\epoint\ga\demo\ffmpeg\MediaUtil.java

?????文件???????1090??2020-05-15?16:42??java\com\epoint\ga\demo\ffmpeg\SrtPart.java

?????文件???????3835??2020-05-15?18:05??java\com\epoint\ga\demo\ffmpeg\SrtUtil.java

?????文件???????2832??2020-05-15?17:35??java\com\epoint\ga\demo\ffmpeg\Test.java

?????文件???????4760??2020-05-14?17:06??java\com\epoint\ga\demo\ryrtc\RyRtcAction.java

?????文件????????999??2020-04-21?16:47??java\com\epoint\ga\demo\server\PExchangeServerV7.java

?????文件???????3102??2020-04-21?15:37??java\com\epoint\ga\demo\server\PRestServerInterfaceV7.java

?????文件???????5139??2020-05-15?09:51??java\it\sauronsoftware\jave\AudioAttributes.java

?????文件???????3460??2020-05-15?09:51??java\it\sauronsoftware\jave\AudioInfo.java

?????文件???????4659??2020-05-15?10:24??java\it\sauronsoftware\jave\DefaultFFMPEGLocator.java

?????文件??????38915??2020-05-15?17:17??java\it\sauronsoftware\jave\Encoder.java

?????文件???????1262??2020-05-15?09:51??java\it\sauronsoftware\jave\EncoderException.java

?????文件???????1804??2020-05-15?09:51??java\it\sauronsoftware\jave\EncoderProgressListener.java

?????文件???????5546??2020-05-15?09:51??java\it\sauronsoftware\jave\EncodingAttributes.java

?????文件???40687412??2020-05-15?10:13??java\it\sauronsoftware\jave\ffmpeg

?????文件???67973632??2020-05-15?10:30??java\it\sauronsoftware\jave\ffmpeg.exe

?????文件???????4517??2020-05-15?09:51??java\it\sauronsoftware\jave\FFMPEGExecutor.java

?????文件???????1614??2020-05-15?09:51??java\it\sauronsoftware\jave\FFMPEGLocator.java

?????文件???????1182??2020-05-15?09:51??java\it\sauronsoftware\jave\InputFormatException.java

?????文件???????3405??2020-05-15?09:51??java\it\sauronsoftware\jave\MultimediaInfo.java

?????文件???????1374??2020-05-15?09:51??java\it\sauronsoftware\jave\ProcessKiller.java

?????文件??????88379??2020-05-15?10:24??java\it\sauronsoftware\jave\pthreadGC2.dll

?????文件???????2039??2020-05-15?09:51??java\it\sauronsoftware\jave\RBufferedReader.java

?????文件???????4721??2020-05-15?09:51??java\it\sauronsoftware\jave\VideoAttributes.java

?????文件???????3136??2020-05-15?09:51??java\it\sauronsoftware\jave\VideoInfo.java

?????文件???????1827??2020-05-15?09:51??java\it\sauronsoftware\jave\VideoSize.java

?????目錄??????????0??2020-05-15?14:31??java\com\epoint\ga\demo\ffmpeg

?????目錄??????????0??2020-04-15?10:37??java\com\epoint\ga\demo\ryrtc

?????目錄??????????0??2020-04-21?15:36??java\com\epoint\ga\demo\server

?????目錄??????????0??2020-05-14?08:13??java\com\epoint\ga\demo\util

............此處省略11個文件信息

評論

共有 條評論