將h264和aac碼流合成flv檔案
阿新 • • 發佈:2019-02-16
在視訊應用中,經常需要將接收到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