ffmpeg - 如何将 ffmpeg 输入流的输出文件大小限制为 10 兆字节

标签 ffmpeg

我正在使用 ffmpeg 订阅来自 tvheadend 的输入流,并且我正在将该流连续写入磁盘。我想限制这个输出流,以便在任何时候最多存储 10 兆字节的数据。

我已经从 moreutils 和 linux buffer 命令研究了海绵来构建某种管道。虽然,我还没有找到可行的解决方案。谁能指出我正确的方向?

最佳答案

您只需要 -fs key 。
它以字节为单位设置输出文件大小限制。

您可以输入 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 做所有事情更优雅。

关于ffmpeg - 如何将 ffmpeg 输入流的输出文件大小限制为 10 兆字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36578615/

相关文章:

android - FFmpeg 输出损坏的 NAL 单元

ffmpeg - 任何人都知道这个视频输出可能是什么问题?

ffmpeg - Gstreamer rtp 视频混合器,找到了一个工作流水线,但需要改进

node.js - 使用 node-fluent-ffmpeg 在 Windows 上使用 ffmpeg 进行转码不起作用

ffmpeg - 为什么 ffmpeg yuv420p 转换会影响超过 2x2 block 的像素?

python - YouTube-dl 和 Ffmpeg

ffmpeg - Titan Black 不能使用 NVENC 吗?

macos - 在 Mac OS X 10.11.6 El Capitan 上安装 ffmpeg 时出现问题

ruby-on-rails - 如何在rails中的FFMPEG转码中显示用户侧的进度?

ffmpeg - 使用 FFmpeg 设置时间偏移后覆盖视频