1. 程式人生 > >將h264和aac碼流合成flv檔案

將h264和aac碼流合成flv檔案

在視訊應用中,經常需要將接收到h264和aac資料儲存成檔案。 本來想用mp4格式,但是mp4在沒有正常關閉的情況下會導致檔案打不開,而在實際應用中經常會出現裝置直接拔電,程式不是正常結束的情況。於是想用採用flv格式,flv相對mp4簡單很多,參照ffmpeg裡的flv自己封裝了一個簡易的flv合成檔案。

使用流程:

//初始化檔案

flvHandle_= flv_init( filename, 30, 1920, 960);

//每收到一幀視訊資料寫入檔案,此處寫入的h264碼流每個nal前需要新增00000001

flv_write_video_packet(flvHandle_, iskeyframe, buffer, bufsize, timestamp);

//每收到一幀aac音訊資料寫入檔案,注意aac音訊資料需要將adts頭去掉

flv_write_audio_packet(flvHandle_, buffer+7, bufsize-7, timestamp);

//關閉檔案,即使不呼叫該函式關閉檔案,錄影檔案也能開啟播放

flv_write_trailer(flvHandle_);

flv合成程式碼下載地址 http://download.csdn.net/download/lipku/10121166