//============================================================================
// Name : MP4V2.cpp
// Author :
// Version :
// Copyright : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================
#include <iostream>
using namespace std;
#include "mp4v2/mp4v2.h"
int main() {
const char* m_mp4FileName = "/home/hi/rec/mainstream.mp4";
u_int32_t m_movieTimeScale = 90000;
u_int32_t m_videoTimeScale = 90000;
u_int32_t m_audioTimeScale = 90000;
MP4FileHandle m_mp4File;
MP4TrackId m_videoTrackId = MP4_INVALID_TRACK_ID;
MP4TrackId m_audioTrackId = MP4_INVALID_TRACK_ID;
m_mp4File = MP4Create(m_mp4FileName);
MP4SetTimeScale(m_mp4File, m_movieTimeScale);
m_videoTrackId = MP4AddH265VideoTrack(m_mp4File, m_videoTimeScale, MP4_INVALID_DURATION, 1920, 1080, 0, 0, 0, 0);
// raw audio
m_audioTrackId = MP4AddALawAudioTrack(m_mp4File, m_audioTimeScale);
int isIFrame = 0;
uint8_t *m_videoBuffer;
uint32_t len_written = 0;
MP4WriteSample(m_mp4File, m_videoTrackId, m_videoBuffer, len_written, MP4_INVALID_DURATION, 0, isIFrame);
uint8_t *m_audioBuffer;
uint32_t len_written = 0;
MP4WriteSample(m_mp4File, m_audioTrackId, m_audioBuffer, len_written, MP4_INVALID_DURATION);
// close the mp4 file
MP4Close(m_mp4File);
return 0;
}