我設法從終端下載嵌入的視頻,但是當我從 java 程式呼叫它時不起作用。這是我從 java 中使用的
for(String url: reffererSet) {
String command = "youtube-dl " url;
System.out.println(command);
Process proc = Runtime.getRuntime().exec(command);
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String line = "";
while((line = reader.readLine()) != null) {
System.out.print(line "\n");
}
}
youtube-dl https://player.vimeo.com/video/2352345 --referer 'https://reffererUrl.html'
當我從終端執行時
[vimeo] 2352345: Downloading webpage
[vimeo] 2352345: Extracting information
[vimeo] 2352345: Downloading JSON metadata
WARNING: Unable to download JSON metadata: HTTP Error 404: Not Found
當我從 java 運行時開始下載視頻我只看到這個輸出:
[vimeo] 2352345: Downloading webpage
并跳到下一個鏈接而不下載視頻
uj5u.com熱心網友回復:
您最可能的解決方案是使用 的完整路徑youtube-dl,因此在 Linux 上可能是/usr/bin/youtube-dl. 這是因為Runtime.getRuntime().exec實際上運行的是檔案而不是 bash shell。
如果這不能解決您的問題,那么您還應該將程序的錯誤流寫入標準輸出,這將告訴您問題所在。
uj5u.com熱心網友回復:
正如本所說,您應該使用完整路徑。程式并不總是在同一個 /usr/bin/* 檔案夾中。對于未來的專案,您應該嘗試使用/usr/bin/bash -c "command here".
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/373328.html
標籤:爪哇 linux 终端 youtube-dl
