導航:首頁 > 編程語言 > ffmpegjava調用

ffmpegjava調用

發布時間:2022-11-14 17:06:03

java 調用 ffmpeg 進行視頻截取

ffmpeg -y -i SF160114692.flv -vcodec -acodec -ss 00:02:00.000
-t 0:5:30 -f flv 3.flv

(1)用-ss指定開始時間,用hh:mm:ss[.ms]格式,或者換算成用秒計。

(2)用-t指定時間長度,和-ss的格式一樣,用hh:mm:ss[.ms]格式,或者換算成用秒計。

java中可以使用ProcessBuilder調用命令

⑵ 用JAVA調用ffmpeg實現將各種視頻格式轉為flv時,怎樣做出簡單操作的界面

源代碼肯定不會貼給你的,思路可以說下!
首先,你在後台把各格式的相互轉換函數寫好比如,rm2flv,wav2flv,自己去掉人家的借口,找下demo代碼。
然後,做一個表單網頁,能上傳源文件到伺服器,點擊上傳提交任務
最後,上傳完畢,判斷文件格式(後綴),然後調用對應的函數進行轉換,轉換完畢後,可以給出轉換信息,如文件大小,轉換時間,轉換後文件url地址等
完畢!

⑶ java如何截取視頻的幀,生成一個圖片

就是可以使用ffmpeg,下載ffmpeg相關組件到電腦中,然後用java調用命令的方式(RunTime.exec相關方法),使用ffmpeg的功能。

linux 上java調用ffmpeg轉碼只有幾秒長

舉個例子:原視頻有7M,直接在Linux下執行裝換命令是正常的,而用該Java代碼執行該命令時視頻只能轉換1M;而且轉換成MP4的時候,視頻無法播放。

⑸ 請教大神,java調用ffmpeg,將兩段.wav音頻,拼接成一段.wav音頻,怎麼做

  1. ffmpeg是c實現的,java想調它的api,起碼要寫一層jni出來,直接在jni層調用ffmpeg的api,然拋到java層去invoke.

  2. 當然還有一種,直接用命令實現,首先你需要編譯出可以在你當前環境上運行的ffmpeg,然後配置好拼接音頻的參數,使用Runtime的exec來執行這個命令,這種方法雖然簡單,但是一旦換個執行環境可能就沒有辦法使用你本機編譯的ffmpeg了,所以不推薦。

⑹ 怎麼用java讀取ffmpeg輸出流

public static void main(String[] args) {

String result = processFLV("E:\\test\\京視傳媒\\體育類\\xiao.flv");

PatternCompiler compiler =new Perl5Compiler();
try {
String regexDuration ="Duration: (.*?), start: (.*?), bitrate: (\\d*) kb\\/s";
String regexVideo ="Video: (.*?), (.*?), (.*?)[,\\s]";
String regexAudio ="Audio: (\\w*), (\\d*) Hz";

Pattern patternDuration = compiler.compile(regexDuration,Perl5Compiler.CASE_INSENSITIVE_MASK);
PatternMatcher matcherDuration = new Perl5Matcher();
if(matcherDuration.contains(result, patternDuration)){
MatchResult re = matcherDuration.getMatch();

System.out.println("提取出播放時間 ===" +re.group(1));
System.out.println("開始時間 =====" +re.group(2));
System.out.println("bitrate 碼率 單位 kb==" +re.group(3));
}

Pattern patternVideo = compiler.compile(regexVideo,Perl5Compiler.CASE_INSENSITIVE_MASK);
PatternMatcher matcherVideo = new Perl5Matcher();

if(matcherVideo.contains(result, patternVideo)){
MatchResult re = matcherVideo.getMatch();
System.out.println("編碼格式 ===" +re.group(1));
System.out.println("視頻格式 ===" +re.group(2));
System.out.println(" 解析度 == =" +re.group(3));
}

Pattern patternAudio = compiler.compile(regexAudio,Perl5Compiler.CASE_INSENSITIVE_MASK);
PatternMatcher matcherAudio = new Perl5Matcher();

if(matcherAudio.contains(result, patternAudio)){
MatchResult re = matcherAudio.getMatch();
System.out.println("音頻編碼 ===" +re.group(1));
System.out.println("音頻采樣頻率 ===" +re.group(2));
}

} catch (MalformedPatternException e) {
e.printStackTrace();
}

}

// ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)
private static String processFLV(String inputPath) {
/*
if (!checkfile(inputPath)){
_log.warn(inputPath+" is not file");
return false;
}
*/
List<String> commend=new java.util.ArrayList<String>();

// commend.add("e:\\videoconver\\ffmpeg\\ffmpeg ");//可以設置環境變數從而省去這行
commend.add("ffmpeg");
commend.add("-i");
commend.add(inputPath);

try {

ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.redirectErrorStream(true);
Process p= builder.start();

//1. start
BufferedReader buf = null; // 保存ffmpeg的輸出結果流
String line = null;
//read the standard output

buf = new BufferedReader(new InputStreamReader(p.getInputStream()));

StringBuffer sb= new StringBuffer();
while ((line = buf.readLine()) != null) {
System.out.println(line);
sb.append(line);
continue;
}
int ret = p.waitFor();//這里線程阻塞,將等待外部轉換進程運行成功運行結束後,才往下執行
//1. end
return sb.toString();
} catch (Exception e) {
// System.out.println(e);
return null;
}
}

⑺ 使用JAVA調用ffmpeg組件進行視頻轉換時不成功

FFMPEG沒有java可以直接調用的API,網上那些基本上是通過調用cmd命令來實現轉換的。這種方法很容易出錯,效率低而且也不容易調試。最好的辦法是讓提供商提供flv格式的文件。如果不行你只有測試一下直接用FFMPEG的圖形界面轉看結果如何,然後嘗試更換參數,視頻文件和FFMPEG版本。

⑻ java調取ffmpeg總是彈出命令窗口,我部署到伺服器上應該怎麼做

你寫的web應用 還是普通java應用呢
web應用的話可以用tomcat,java應用 直接有jre就可以的
我用的是小鳥雲的伺服器,性能穩定,性價比高。

⑼ 在Java中怎樣把所有的視頻都轉換成flv格式

解決方案一:

java調用ffmpeg執行視頻轉換

ffmpeg.exe能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等)

對ffmpeg.exe無法解析的文件格式(wmv9,rm,rmvb等),

可以先用別的工具(mencoder)轉換為avi(ffmpeg能解析的)格式;

mencoder.exe;drv43260.dll;pncrt.dll這3個文件是為文件格式(wmv9,rm,rmvb等)

轉換為avi(ffmpeg能解析的)格式准備的;再把轉換好的avi文件再用ffmpeg.exe轉換成flv格式的視頻文件。。。

缺點: 要裝第三方東西

解決方案二

用jmf。編程以前,你需要安裝JMF。

而且 jmf 不支持 所有平台

閱讀全文

與ffmpegjava調用相關的資料

熱點內容
穿越之命令與征服將軍 瀏覽:351
android廣播重復 瀏覽:832
像阿里雲一樣的伺服器 瀏覽:318
水冷空調有壓縮機嗎 瀏覽:478
訪問日本伺服器可以做什麼 瀏覽:432
bytejava詳解 瀏覽:448
androidjava7 瀏覽:384
伺服器在山洞裡為什麼還有油 瀏覽:885
天天基金app在哪裡下載 瀏覽:974
伺服器軟路由怎麼做 瀏覽:291
冰箱壓縮機出口 瀏覽:227
OPT最佳頁面置換演算法 瀏覽:644
網盤忘記解壓碼怎麼辦 瀏覽:852
文件加密看不到裡面的內容 瀏覽:653
程序員腦子里都想什麼 瀏覽:434
oppp手機信任app在哪裡設置 瀏覽:188
java地址重定向 瀏覽:272
一年級下冊摘蘋果的演算法是怎樣的 瀏覽:448
程序員出軌電視劇 瀏覽:90
伺服器系統地址怎麼查 瀏覽:56