首页 > 解决方案 > 如何在 Qprocess 中运行 FFmpeg 命令以使其工作?

问题描述

我对 QProcess 有疑问。我将 FFmpeg 和命令添加到 Qt 进程。当我运行它时,我没有看到应该是文件 .mkv 的文件夹中有任何更改。有人说我要添加“\n”,但这无济于事。(我在 macOS Catalina 上做)

void MainWindow::Recording(){

    qDebug() << "Nagrywam!";

    Qrec.setProcessChannelMode(QProcess::MergedChannels);
    Qrec.setProgram("/Users/nintyswinty/Desktop/Dev/Qt/build-PlazaPCO-Desktop_Qt_5_15_1_clang_64bit-Debug/ffmpeg");
    Qrec.setArguments({"-framerate", "30", "-f", "avfoundation", "-i", "1", "-f", "avfoundation", "-framerate", "30", "-i", "0", "-c:v", "libx264", "-crf", "0", "-preset", "ultrafast", "~/Desktop/PlazaPCO/" + QString::fromStdString(date) + ".mkv\n"});
    Qrec.start();
    Qrec.waitForFinished();

    qDebug() << "Koniec - nagrywam";

}```

标签: c++macosqtffmpegqprocess

解决方案


“~”和“\n”产生了这个错误。必须使用 getenv 而不是 "~' 并删除 "\n"。


推荐阅读