MythTV master
transcode.h
Go to the documentation of this file.
1// MythTV
6
7// MythTranscode
8#include "transcodedefs.h"
9
10class ProgramInfo;
11class MythPlayer;
12class MythMediaBuffer;
13
14class Transcode : public QObject
15{
16 public:
17 explicit Transcode(ProgramInfo *pginfo);
18 ~Transcode() override;
19 int TranscodeFile(
20 const QString &inputname,
21 const QString &outputname,
22 const QString &profileName,
23 bool honorCutList, bool framecontrol, int jobID,
24 const QString& fifodir, bool fifo_info, bool cleanCut, frm_dir_map_t &deleteMap,
25 int AudioTrackNo, bool passthru = false);
26 void ShowProgress(bool val) { m_showProgress = val; }
28 void SetAVFMode(void) { m_avfMode = true; }
29 void SetCMDContainer(const QString& container) { m_cmdContainer = container; }
30 void SetCMDAudioCodec(const QString& codec) { m_cmdAudioCodec = codec; }
31 void SetCMDVideoCodec(const QString& codec) { m_cmdVideoCodec = codec; }
32 void SetCMDHeight(int height) { m_cmdHeight = height; }
33 void SetCMDWidth(int width) { m_cmdWidth = width; }
34 void SetCMDBitrate(int bitrate) { m_cmdBitrate = bitrate; }
35 void SetCMDAudioBitrate(int bitrate) { m_cmdAudioBitrate = bitrate; }
36
37 private:
38 bool GetProfile(const QString& profileName, const QString& encodingType, int height,
39 int frameRate);
40 void ReencoderAddKFA(long curframe, long lastkey, long num_keyframes);
41 void SetPlayerContext(PlayerContext* player_ctx);
43 MythPlayer *GetPlayer(void) { return (m_ctx) ? m_ctx->m_player : nullptr; }
44
45 private:
46 ProgramInfo *m_proginfo { nullptr };
48 int m_keyframeDist { 30 };
49 PlayerContext *m_ctx { nullptr };
51 MythFIFOWriter *m_fifow { nullptr };
52 bool m_showProgress { false };
54 bool m_avfMode { false };
55 QString m_cmdContainer { "mpegts" };
56 QString m_cmdAudioCodec { "aac" };
57 QString m_cmdVideoCodec { "libx264" };
58 int m_cmdWidth { 480 };
59 int m_cmdHeight { 0 };
60 int m_cmdBitrate { 600000 };
61 int m_cmdAudioBitrate { 64000 };
62};
63
64/* vim: set expandtab tabstop=4 shiftwidth=4: */
MythPlayer * m_player
Holds information on recordings and videos.
Definition: programinfo.h:74
int m_keyframeDist
Definition: transcode.h:48
int TranscodeFile(const QString &inputname, const QString &outputname, const QString &profileName, bool honorCutList, bool framecontrol, int jobID, const QString &fifodir, bool fifo_info, bool cleanCut, frm_dir_map_t &deleteMap, int AudioTrackNo, bool passthru=false)
Definition: transcode.cpp:133
int m_cmdHeight
Definition: transcode.h:59
QString m_cmdVideoCodec
Definition: transcode.h:57
Transcode(ProgramInfo *pginfo)
Definition: transcode.cpp:47
MythMediaBuffer * m_outBuffer
Definition: transcode.h:50
void SetCMDContainer(const QString &container)
Definition: transcode.h:29
void SetPlayerContext(PlayerContext *player_ctx)
Definition: transcode.cpp:124
~Transcode() override
Definition: transcode.cpp:53
QString m_recorderOptions
Definition: transcode.h:53
int m_cmdAudioBitrate
Definition: transcode.h:61
void SetCMDBitrate(int bitrate)
Definition: transcode.h:34
void SetCMDAudioBitrate(int bitrate)
Definition: transcode.h:35
bool m_avfMode
Definition: transcode.h:54
void SetCMDHeight(int height)
Definition: transcode.h:32
PlayerContext * m_ctx
Definition: transcode.h:49
void SetCMDVideoCodec(const QString &codec)
Definition: transcode.h:31
PlayerContext * GetPlayerContext(void)
Definition: transcode.h:42
int m_cmdWidth
Definition: transcode.h:58
ProgramInfo * m_proginfo
Definition: transcode.h:46
MythPlayer * GetPlayer(void)
Definition: transcode.h:43
RecordingProfile * m_recProfile
Definition: transcode.h:47
bool GetProfile(const QString &profileName, const QString &encodingType, int height, int frameRate)
Definition: transcode.cpp:61
void ShowProgress(bool val)
Definition: transcode.h:26
void SetCMDWidth(int width)
Definition: transcode.h:33
bool m_showProgress
Definition: transcode.h:52
MythFIFOWriter * m_fifow
Definition: transcode.h:51
void SetAVFMode(void)
Definition: transcode.h:28
int m_cmdBitrate
Definition: transcode.h:60
QString m_cmdContainer
Definition: transcode.h:55
void SetCMDAudioCodec(const QString &codec)
Definition: transcode.h:30
void SetRecorderOptions(const QString &options)
Definition: transcode.h:27
QString m_cmdAudioCodec
Definition: transcode.h:56
void ReencoderAddKFA(long curframe, long lastkey, long num_keyframes)
QMap< uint64_t, MarkTypes > frm_dir_map_t
Frame # -> Mark map.
Definition: programtypes.h:117