1. 程式人生 > >RTMP客戶端的開發(一)

RTMP客戶端的開發(一)

前段時間要開發一個RTMP的客戶端,就是將採集到的視訊資料進行H264編碼,音訊資料進行AAC編碼,然後傳送給RTMP伺服器,如CRtmpServer,Nginx,FMS等,前端就可以使用Flash,或者是HTML5收看視訊,簡單快捷,不需要安裝播件,還可以跨平臺。

上網查了很多資料,都是要研究RTMP協議。

由於時間太緊,沒有辦法仔細研究,琢磨FFMPEG有沒有可能封裝類似程式碼,後來一查,果然封裝了librtmp庫,看來可以通過簡單的辦法實現了。

最主要的程式碼是以下一句

avformat_alloc_output_context2(&m_pFormatContext, NULL, "flv", NULL);

然後在avio_open裡打那相應的URL,比如rtmp://127.0.0.1/live/livestream

後面的就簡單了,建立Video的Codec,Audio的Codec,然後寫入相應的資料就行了,這些程式碼和普通的用ffmpeg寫檔案流程一樣。

如果也有研究這方面的朋友,可以聯絡我一起研究。