簡體   English   中英

C ++ ffmpeg實時視頻傳輸

[英]C++ ffmpeg real-time video transmisson

我是一名學生,目前正在完成我的最終項目。 我們的項目專注於新型網絡編碼研究。 現在,我的任務是進行實時視頻傳輸以測試網絡編碼。 我已經學到了ffmepg和opencv的知識,並完成了一個c ++程序,該程序可以將視頻分成幀並逐幀發送。 但是,通過這種方式,傳輸數據(幀)的大小比原始視頻文件的大小大得多。 我的專家建議我嘗試查找視頻(mjpeg格式)的關鍵幀和幀間差異,以便僅發送關鍵幀和幀間差異而不是所有具有大量冗余的幀,從而減少了傳輸數據。 我不知道如何在c ++和ffmpeg或opencv中執行此操作。 任何人都可以提出建議嗎? 對於我的舊程序,請參考這里。 C ++視頻流和轉換

我建議完全不要使用ffmpeg / libav *。 我建議直接使用libx264。 通過使用x264,您可以利用回調更好地控制NALU切片大小,並降低編碼器延遲。

已經可以幫助您的兩個問題:

您如何從C ++連接到ffmpeg? ffmpeg通常是指命令行工具,從c ++開始,您通常使用屬於ffmpeg的單個庫。 您應該使用libavcodec對幀進行編碼,並可能使用libavformat將其打包為容器格式。

您使用哪種編解碼器?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM