原理:Qt制作页面,ffmpeg命令行实现功能。
命令行:ffmpeg.exe -i 文件路径 -ss 时间(00:00:10) -vframes 1 输出文件名.png
问题1:如何获取文件路径和目录路径?
QFileDialog::getOpenFileName(this,"选择视频文件");
QFileDialog::getExistingDirectory(this,"选择图片保存位置");
得到的路径是这种形式的:
C:/Users/xxx/Videos/02.mp4
问题2:如何调用ffmpeg.exe?
QProcess pro(0);
QStringList list;
list.append("-i");
list.append(ui->line_input_file->text());
list.append("-ss");
list.append(ui->line_time->text());
list.append("-vframes");
list.append("1");
list.append(ui->line_output->text()+'/'+ui->line_filename->text()+".png");
pro.execute(ffmpeg_path,list);
核心方法:
int execute(const QString &program, const QStringList &arguments)
额外收获:
QString str1="C:/Users/xxx/Videos/02.mp4";
QString str2=QDir::toNativeSeparators(in_file_path);
str2="C:\\Users\\xxx\\Videos\\02.mp4"
在显示时为
C:\Users\xxx\Videos\02.mp4