FFmpeg 拉流,视频源信号不稳定问题,解决思路
生活随笔
收集整理的這篇文章主要介紹了
FFmpeg 拉流,视频源信号不稳定问题,解决思路
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 前言
在某些企業,由于視頻網絡不佳,導致FFmpeg在拉流的時候,總是中斷,順帶者,推流端也總是中斷。
2. 解決思路
2個線程,拉流一個獨立的線程,推流一個獨立的線程。兩個線程之間,用vector<AVPacket*> Pkts做橋梁。
當拉流線程獲取一個新的幀后, 使用線程鎖,鎖定Pkts,然后向Pkts推入這個新的幀,然后解鎖線程鎖。
推流端不斷檢測Pkts的長度是否大于0,當大于0的時候,將第一幀,推流。如果等于0,則一直推送最后一幀。
3. 效果
這樣修改了之后,盡管視頻源總是中斷,但是播放端一直可以播放,避免了視頻源中斷,導致推流中斷,進而導致播放端中斷。
4. 注意事項
由于vector線程不安全,因此任何操作vector的語句,都要加上線程鎖,操作完成釋放鎖,否則程序容易崩潰。(因為拉流線程不斷向vector推入新的數據,推流線程也在不斷從vector取新的數據)
總結
以上是生活随笔為你收集整理的FFmpeg 拉流,视频源信号不稳定问题,解决思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C:/windows/system32无
- 下一篇: FreePBX 安装配置初学记录