我正在嘗試使用powershell和rtmpdump監視實時電視頻道rtmp提要。希望監視的流保存在遵循以下csv格式的「streams.txt」文件中。使用powershell和rtmpdump監視rtmpdump提要
Name,feed,file
tv1,rtmp://server/live/tv1,tv1.flv
tv2,rtmp://server/live/tv1,tv2.flv
tv3,rtmp://server/live/tv1,tv3.flv
tv4,rtmp://server/live/tv1,tv4.flv
在對象導入csv文件和轉換數據後我遍歷每個對象並使用進料屬性我啓動rmtpdump命令一旦這個過程是工作的powershell的其餘部分被停止。
解決了我試圖使用計時器,但即使他們不解決我的問題,當rtmpdump捕獲循環內的第一個飼料。
Register-ObjectEvent -InputObject $timer -EventName elapsed –SourceIdentifier thetimer -Action $action
$colStats = Import-CSV streams.txt
foreach ($objBatter in $colStats)
{
$timer.start()
$objBatter.feed + "," + $objBatter.file
.\rtmpdump.exe -r $objBatter.feed -o $objBatter.file
}
#to stop run
$timer.stop()
#cleanup
Unregister-Event thetimer
#loop through flv files and all 0 bytes files are faulty channel
#deleting files with 0 size
#dir | ? {$_.length -eq 0} | del
我需要回放捕獲進料進行30秒的輸出然後殺死rtmpdump過程和在循環的下一個迭代i想要捕獲第二進料進行30秒。
如果一個流不工作就會genrate 0字節,我後來去發送通知
我已經嘗試過,你發佈的代碼。睡眠的東西不會工作cuz rtmpdump過程將採取連接到遠程服務器的飼料。睡眠過程會過早發生,PowerShell不會做任何事情。 – najam