int ConvertH264() { int nOffset = 0; int count = 0; if (g_cnvt.Open(g_flvFile) == 0) return 0; unsigned int nTimeStamp = 0; while (1) { int nNaluSize = 0; if (Cnvt::GetOneNalu(g_pBufferIn + nOffset, g_nFileSize - nOffset, g_pBufferOut, nNaluSize) == 0) break; g_cnvt.ConvertH264((char *)g_pBufferOut, nNaluSize, nTimeStamp); if (g_pBufferOut[4] != 0x67 && g_pBufferOut[4]!=0x68) nTimeStamp += 33; nOffset += nNaluSize; if (nOffset >= g_nFileSize - 4) break; count++; } g_cnvt.Close(); return 1; }
int ConvertAAC() { int nOffset = 0; int count = 0; if (g_cnvt.Open(g_flvFile, 1, 0) == 0) return 0; unsigned int nTimeStamp = 0; while (1) { int nAACFrameSize = 0; if (Cnvt::GetOneAACFrame(g_pBufferIn + nOffset, g_nFileSize - nOffset, g_pBufferOut, nAACFrameSize) == 0) break; printf("nAACFrameSize = %d\n", nAACFrameSize); g_cnvt.ConvertAAC((char *)g_pBufferOut, nAACFrameSize, nTimeStamp); nTimeStamp += double(1024*1000) / double(44100); nOffset += nAACFrameSize; if (nOffset >= g_nFileSize - 4) break; count++; } g_cnvt.Close(); return 1; }