2016-04-12 82 views
0

我正在使用ffmpeg訂閱來自tvheadend的輸入流,並且我正在將該流連續寫入磁盤。我想限制這個輸出流,以便在任何時候最多存儲10兆字節的數據。如何限制ffmpeg輸入流的輸出文件大小爲10兆

我已經從moreutils和linux buffer命令中查看海綿來構建某種管道。儘管如此,我還找不到工作解決方案。誰能指引我走向正確的方向?

回答

2

您只需要-fs鍵。 它以字節爲單位設置輸出文件大小限制。

您可以輸入ffmpeg -i input -fs 10M -c copy output,其中input是您的輸入地址,output - 您希望您的文件具有的文件名。 M指定您希望以兆字節爲單位的大小(也允許k以千字節爲單位)。


對於覆蓋,你可以用一個小sript這樣

#!/bin/bash 

t=1 
while : 
do 
ffmpeg -i input -fs 10M -c copy output$t 
t=`expr $t + 1` 
done 

我覺得這是不是試圖做只能使用ffmpeg的一切更優雅。

+0

thanx。 -fs選項將停止ffmpeg。我想連續覆蓋該部分。我想我找到了一個非常接近我需要的解決方案。 -f ssegment -segment_time 60 -segment_wrap 2 tmp/out%03d.ts – Jabb

+0

請參閱我所做的修改:有一個小腳本可以幫助你。 – Ngoral

+0

謝謝。我不同意。使用本地ffmpeg函數而不是實現某些東西會更優雅。外部。但由於你的解決方案更確切,我會接受它作爲答案。 – Jabb