dtkmultimedia
DTK Multimedia module
载入中...
搜索中...
未找到
dmultioperateinterface.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DMULTIOPERATEINTER_H
6#define DMULTIOPERATEINTER_H
7
8#if BUILD_Qt6
9#include <QtMultimedia/QMediaRecorder>
10#else
11#include <QMediaObject>
12#endif
13
14#include <dtkmultimedia.h>
15
16DMULTIMEDIA_BEGIN_NAMESPACE
17class DMultiOperateInterfacePrivate;
18
19class Q_MULTIMEDIA_EXPORT DMultiOperateInterface : public QObject
20{
21 Q_OBJECT
22 Q_DECLARE_PRIVATE(DMultiOperateInterface)
23public:
25 h264 = 0,
30 avs2
31 };
40 enum muxerName {
41 mp4 = 0,
44 };
45
46public:
47 explicit DMultiOperateInterface(QObject *parent = nullptr);
49
50public:
51 QStringList showVideoMuxList(const videoCodecName &name);
52 QStringList showAudioMuxList(const audioCodecName &name);
53 QString nameOfMuxer(const muxerName &name);
54 QString nameOfVideoCodec(const videoCodecName &name);
55 QString nameOfAudioCodec(const audioCodecName &name);
56 void setOutFilePath(const QString &outFileName);
57 QString outFilePath();
58 QString showFileInfo(const QString &fileName);
59 QString showVideoInfo(const QString &fileName);
60 QString showAudioInfo(const QString &fileName);
61 QString showSubtitleInfo(const QString &fileName);
62 bool videoConvert(const QString &fileName, const videoCodecName &destCodecName,
63 const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
64 bool audioConvert(const QString &fileName, const audioCodecName &destCodecName,
65 const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
66 bool muxerConvert(const QString &fileName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
67 bool adjustRate(const QString &fileName, const qint64 &minSize, const qint64 &maxSize, const qint64 &cacheSize,
68 const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
69 bool changeResolution(const QString &fileName, const QSize &Resolution, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
70 bool changeResolution(const QString &fileName, const int &nWidth, const int &nHeight,
71 const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
72 bool audioStreamFile(const QString &fileName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc, const int audioId = -1);
73 bool videoStreamFile(const QString &fileName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
74 bool addAudioforVideo(const QString &videoName, const QString &audioName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
75
76 bool cutVideoToDuration(const QString &fileName, const QString &startTime, const QString &durationTime,
77 const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
78 bool cutVideoToEnd(const QString &fileName, const QString &startTime, const QString &endTime,
79 const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc);
80
81protected:
82 QScopedPointer<DMultiOperateInterfacePrivate> d_ptr;
83};
84
85DMULTIMEDIA_END_NAMESPACE
86
87#endif // DMULTIOPERATEINTER_H
DMultiOperateInterface类提供多媒体信息查看与转换功能.
Definition dmultioperateinterface.h:20
QString showFileInfo(const QString &fileName)
显示媒体文件媒体信息.
muxerName
多媒体音频格式
Definition dmultioperateinterface.h:40
@ webm
Definition dmultioperateinterface.h:43
@ mkv
Definition dmultioperateinterface.h:42
videoCodecName
多媒体视频格式
Definition dmultioperateinterface.h:24
@ vp9
Definition dmultioperateinterface.h:29
@ Hevc
Definition dmultioperateinterface.h:26
@ mpeg4
Definition dmultioperateinterface.h:27
@ vp8
Definition dmultioperateinterface.h:28
QString nameOfAudioCodec(const audioCodecName &name)
获取音频格式的名称.
QString nameOfVideoCodec(const videoCodecName &name)
获取视频格式的名称.
bool cutVideoToDuration(const QString &fileName, const QString &startTime, const QString &durationTime, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
为媒体文件添加音轨.
bool audioConvert(const QString &fileName, const audioCodecName &destCodecName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
指定格式音频转换.
QString showVideoInfo(const QString &fileName)
显示媒体文件视频流信息.
QString showAudioInfo(const QString &fileName)
显示媒体文件音频流信息.
QString nameOfMuxer(const muxerName &name)
获取容器格式的名称.
QString showSubtitleInfo(const QString &fileName)
显示媒体文件字幕流信息.
void setOutFilePath(const QString &outFileName)
设置输出文件路径.
bool adjustRate(const QString &fileName, const qint64 &minSize, const qint64 &maxSize, const qint64 &cacheSize, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
调整视频码率.
bool addAudioforVideo(const QString &videoName, const QString &audioName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
为媒体文件添加音轨.
bool videoConvert(const QString &fileName, const videoCodecName &destCodecName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
指定格式视频转换.
QStringList showAudioMuxList(const audioCodecName &name)
获取音频格式支持的容器格式列表.
audioCodecName
多媒体音频格式
Definition dmultioperateinterface.h:32
@ vorbis
Definition dmultioperateinterface.h:37
@ mp3
Definition dmultioperateinterface.h:34
@ ac_3
Definition dmultioperateinterface.h:35
@ flac
Definition dmultioperateinterface.h:36
@ opus
Definition dmultioperateinterface.h:38
QStringList showVideoMuxList(const videoCodecName &name)
获取视频格式支持的容器格式列表.
bool changeResolution(const QString &fileName, const int &nWidth, const int &nHeight, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
改变视频分辨率.
QString outFilePath()
获取输出文件路径.
bool videoStreamFile(const QString &fileName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
媒体文件中提取视频流.
bool changeResolution(const QString &fileName, const QSize &Resolution, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
改变视频分辨率.
bool audioStreamFile(const QString &fileName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc, const int audioId=-1)
媒体文件中提取音频流.
bool cutVideoToEnd(const QString &fileName, const QString &startTime, const QString &endTime, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
媒体文件裁剪视频,根据时间段,指定开始时间与结束时间.
bool muxerConvert(const QString &fileName, const muxerName &outMuxerFormat, const QString &sOutFileName, QString &strErrDesc)
指定媒体容器格式转换.