0
我正在使用ffmpeg訂閱來自tvheadend的輸入流,並且我正在將該流連續寫入磁盤。我想限制這個輸出流,以便在任何時候最多存儲10兆字節的數據。如何限制ffmpeg輸入流的輸出文件大小爲10兆
我已經從moreutils和linux buffer命令中查看海綿來構建某種管道。儘管如此,我還找不到工作解決方案。誰能指引我走向正確的方向?
我正在使用ffmpeg訂閱來自tvheadend的輸入流,並且我正在將該流連續寫入磁盤。我想限制這個輸出流,以便在任何時候最多存儲10兆字節的數據。如何限制ffmpeg輸入流的輸出文件大小爲10兆
我已經從moreutils和linux buffer命令中查看海綿來構建某種管道。儘管如此,我還找不到工作解決方案。誰能指引我走向正確的方向?
您只需要-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的一切更優雅。
thanx。 -fs選項將停止ffmpeg。我想連續覆蓋該部分。我想我找到了一個非常接近我需要的解決方案。 -f ssegment -segment_time 60 -segment_wrap 2 tmp/out%03d.ts – Jabb
請參閱我所做的修改:有一個小腳本可以幫助你。 – Ngoral
謝謝。我不同意。使用本地ffmpeg函數而不是實現某些東西會更優雅。外部。但由於你的解決方案更確切,我會接受它作爲答案。 – Jabb