c++ - 如何在 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";
}```
解决方案
“~”和“\n”产生了这个错误。必须使用 getenv 而不是 "~' 并删除 "\n"。
推荐阅读
- java - 如何在 Spring Boot 的本机查询中使用 all(array[])?
- django - 如何在 Django 应用程序中将消息字符串分开
- python - 如何从使用 __getattr__ 调用的方法中访问参数?
- android - 如何修复“读取 QR 码模型 1”
- c# - 如何将变量与多个值进行比较(不区分大小写)
- bash - 如果变量名在字符串中,如何访问 awk 中的变量?
- python - 无法弄清楚这里的逻辑?
- javascript - 观察vue中的div宽度变化
- google-apps-script - 如何将参数传递给自定义 google-sheets 函数?
- python - 带 chi2 的 SelectKBest 给出 ValueError: could not convert string to float