我正在使用ffmpeg庫寫入到rtsp流。 當rtsp網址正確時,它運行良好。 但是,當這個rtsp網址不正確,然後它卡在avformat_write_header。 有沒有解決這個問題的方法? 謝謝。如何在ffmpeg中設置rtsp連接超時
2
A
回答
0
請參考以下鏈接: [FFmpeg-user] How do I set a timeout for an RTSP source?
有選項兩個超時類型RTSP:
'-timeout'
Set maximum timeout (in seconds) to wait for incoming connections. A value of -1 mean infinite (default). This option implies the ‘rtsp_flags’ set to ‘listen’. ‘reorder_queue_size’ Set number of packets to buffer for handling of reordered packets.
'-stimeout'
Set socket TCP I/O timeout in micro seconds.
1
'-timeout'&'-stimeout'不適合我。
我的解決方案[Python代碼]是:
while True:
try:
check_call('ffmpeg -i <rtsp://your-input-stream-url> -frames:v 1 screenshot.jpg', shell=True, timeout=N) # try to get a screenshot if RTSP stream is OK
except TimeoutExpired as e:
logger.error('RTSP stream error') # send error message if timeout
break
好運。
相關問題
- 1. 如何設置連接超時
- 2. 如何設置MongoClient連接超時?
- 3. 如何設置redis連接超時?
- 4. 如何手動設置連接超時?
- 5. 設置SSH連接超時
- 6. Lua設置連接超時
- 7. 如何在龍捲風中設置連接超時?
- 8. 如何在CodeIgniter中設置MongoDB數據庫連接超時?
- 9. 如何在mysql C++連接器中設置超時
- 10. 如何在scrapy中設置TCP連接超時?
- 11. 如何在Apache HTTP客戶端中設置連接超時?
- 12. 如何在node.js中爲客戶端http連接設置超時
- 13. 如何在Java中設置連接超時到jackrabbit存儲庫
- 14. 如何在Android的Retrofit庫中設置連接超時?
- 15. 如何在Android中爲JSONParser.makeHttpRequest設置連接超時?
- 16. 如何在客戶端套接字連接上設置超時?
- 17. 使用配置設置連接超時
- 18. FFMPEG API:如何使用av_open_input_file連接到RTSP流?
- 19. 如何在Android上設置Http連接超時
- 20. 如何在MySQL JDBC驅動程序上設置連接超時?
- 21. 如何設置套接字超時失敗連接
- 22. 設置在Java連接FTP連接超時
- 23. 使用Mysql設置連接超時Ruby
- 24. 爲FtpClient設置連接超時
- 25. HttpListener設置總連接超時
- 26. 安卓:設置連接超時的HttpPost
- 27. 連接超時設置爲服務
- 28. OracleConnectinStringBuilder不允許設置'連接超時'
- 29. PHP PDO:設置FireBird連接超時
- 30. 設置Sharpssh sftp連接超時
我想OP是問libav API。你可能誤解了這個問題。 – bot1131357
在ffmpeg對象(如屬於rtsp流的AVFormatContext)上使用av_opt _ *()設置API選項很簡單。該選項的名稱將與ffmpeg CLI應用程序中的名稱相同。 –