嗨,我有一個問題,我在Raspberry Pi上有openCV和ffmpeg,我試圖從樹莓派傳輸實時視頻。目前我有openCV的輸出輸出保存爲.avi文件,我有一個命令ffmpeg ffmpeg -i out.avi -hls_segment_filename '%03d.ts' stream.m3u8
此命令將輸出創建播放列表(.m3u8)和段(.ts)。將處理後的視頻從OpenCV傳遞到FFmpeg進行HLS流式傳輸(Raspberry PI)
目前我有C++編程的openCV(這不能改變)我有一個可執行的程序,我有一個可執行的C++和Bash腳本中的上述ffmpeg。
#!/bin/bash
while true; do
./OpenCV
ffmpeg -i out.avi -hls_segment_filename '%03d.ts' stream.m3u8
done
這並不讓我流的處理的OpenCV視頻我的問題是因爲bash腳本是在一個while循環它使重置播放列表和.ts文件,所以我必須不斷地按客戶端播放連接。
反正有這個嗎?
我試過包括一個變量,會增加每個循環,但如果我用這個替換'%03d'我得到一個錯誤。
謝謝斯韋特林,只是一個更新,我只嘗試了底部的2個例子。使用tail命令的人大約有60%的時間工作,但它在流式傳輸時也很容易凍結,而底部的一個在我的代碼中根本不起作用。我已經使用cout <<在代碼中將C++代碼改爲stdout。我也可能會遇到這個C++代碼的問題,因爲它還包含一個while(1)循環,它使用raspivid命令拍攝1秒的視頻,然後將幀傳遞給openCV進行處理。當完成回報拍攝另一個&等等。我希望在週末看這個。 –