gpt4 book ai didi

video - ffmpeg 返回非零退出状态。检查标准输出 Coldfusion

转载 作者:行者123 更新时间:2023-12-04 02:06:24 25 4
gpt4 key购买 nike

我有一个冷聚变应用程序。我正在通过 ffmpeg 和 coldfusion 从手机转换录制的视频。这是我正在运行的 ffmpeg 命令。

ffmpegPath -i "输入文件"-vcodec libx264 -acodec aac "输出文件"

输出文件类型为 mp4。我想将我的所有视频转换为具有 h.264 和 ACC 声音的 mp4。这样它就可以在所有平台上运行。

我收到以下错误:

java.io.IOException: ffmpeg returned non-zero exit status. Check stdout.

这是我正在运行的 CF 代码。

<cfset resultLog        = "path\to\directory\testOuput_result.log">
<cfset errorLog = "path\to\directory\testOuput_error.log">
<cfset results = structNew()>
<cfscript>
try {
runtime = createObject("java", "java.lang.Runtime").getRuntime();
command = 'ffmpegPath -i "inputfile" -vcodec libx264 -acodec aac "OutputFile"';
process = runtime.exec(#command#);
results.errorLogSuccess = processStream(process.getErrorStream(), errorLog);
results.resultLogSuccess = processStream(process.getInputStream(), resultLog);
results.exitCode = process.waitFor();
}
catch(exception e) {
results.status = e;
}
</cfscript>
<cffunction name="processStream" access="public" output="false" returntype="boolean" hint="Returns true if stream was successfully processed">
<cfargument name="in" type="any" required="true" hint="java.io.InputStream object">
<cfargument name="logPath" type="string" required="false" default="" hint="Full path to LogFile">
<cfset var out = "">
<cfset var writer = "">
<cfset var reader = "">
<cfset var buffered = "">
<cfset var line = "">
<cfset var sendToFile = false>
<cfset var errorFound = false>

<cfscript>
if ( len(trim(arguments.logPath)) ) {
out = createObject("java", "java.io.FileOutputStream").init(arguments.logPath);
writer = createObject("java", "java.io.PrintWriter").init(out);
sendToFile = true;
}

reader = createObject("java", "java.io.InputStreamReader").init(arguments.in);
buffered = createObject("java", "java.io.BufferedReader").init(reader);
line = buffered.readLine();
while ( IsDefined("line") ) {
if (sendToFile) {
writer.println(line);
}
line = buffered.readLine();
}
if (sendToFile) {
errorFound = writer.checkError();
writer.flush();
writer.close();
}
</cfscript>
<!--- return true if no errors found. --->
<cfreturn (NOT errorFound)>
</cffunction>

我也使用了不同的 ffmpeg.exe 但得到了同样的错误。我也用过ffmpeg-cli-wrapper Coldfusion 中的 Java 包装器。我仍然遇到同样的错误。谁能帮我解决这个问题。

最佳答案

我能够解决这个问题。问题出在输入文件路径中。我通过将输入文件的绝对路径传递给 ffmpeg 来修复此问题

关于video - ffmpeg 返回非零退出状态。检查标准输出 Coldfusion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43113634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com