예제 #1
0
void mov_reader_test(const char* mp4)
{
	s_vfp = fopen("v.h264", "wb");
	s_afp = fopen("a.aac", "wb");

	void* mov = mov_reader_create(mp4);

	mov_reader_getinfo(mov, mov_video_info, mov_audio_info, NULL);

	while (mov_reader_read(mov, s_buffer, sizeof(s_buffer), onread, NULL) > 0)
	{
	}

	mov_reader_destroy(mov);
	fclose(s_vfp);
	fclose(s_afp);
}
예제 #2
0
MP4FileSource::MP4FileSource(const char *file)
{
	m_speed = 1.0;
	m_status = 0;
	m_clock = 0;
	m_frame.bytes = 0;
	m_count = 0;

	m_fp = fopen(file, "rb");
	m_reader = mov_reader_create(mov_file_buffer(), m_fp);
	if (m_reader)
		mov_reader_getinfo(m_reader, MP4OnVideo, MP4OnAudio, this);

	for (int i = 0; i < m_count; i++)
	{
		struct media_t* m = &m_media[i];
		rtp_set_info(m->rtp, "RTSPServer", path_basename(file));
	}
}