在視頻應用中,經常需要將接收到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