本篇文章讲述如何使用Qt 来调用ffmpeg.exe 执行相关的命令。方法较为简单,但由于也属于ffmpeg学习的一个小知识点,所以,也单独写一篇文章进行总结。
将ffmpeg.exe与应用程序放在同一路径下,可以先在此目录下,调用如下命令,试下,是否能够成功,若有错误,则命令行中就会予以提醒了。
// 创建QProcess对象
QProcess process;
// 设置要执行的命令行
QString command = "ffmpeg.exe -i input.mp4 -c:v copy -c:a copy output.mp4";
//QString command = QString("ffmpeg.exe -i ").append(sInputFilePath).append(QString(" -b:v 500k -s %1x%2 -aspect 4:3 -c:v libx264 ").arg(iOutputWidth).arg(iOutputHeight)).append(sOutputFilePath);
qDebug() << "--> command:"<<command;
// 启动进程并执行命令行
process.start(command);
// 等待进程完成
process.waitForFinished();
// 获取命令行输出
QByteArray output = process.readAllStandardOutput();
// 输出命令行输出结果
qDebug() << "Command output:" << output;