【问题标题】:FFmpeg command with -ss option fails on .flv files带有 -ss 选项的 FFmpeg 命令在 .flv 文件上失败
【发布时间】:2013-01-08 08:56:01
【问题描述】:

我正在使用 FFmpeg 通过以下命令从视频中提取屏幕截图

/usr/bin/ffmpeg -ss 15 -y -i test.flv -vcodec mjpeg -vframes 1 -an -f rawvideo test.png

但是命令失败。响应的最后 3 行是

frame=    0 fps=  0 q=0.0 Lsize=       0kB time=00:00:00.00 bitrate=   0.0kbits/s
video:0kB audio:0kB global headers:0kB muxing overhead -nan%
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)

请注意,该命令对其他视频类型(3gp、mp4)成功运行。

此外,当我将“-ss 15”选项替换为“itsoffset 15”时,它也可以使用 flv 文件成功运行。

有人知道为什么 -ss 选项不适用于 .flv 文件吗?

【问题讨论】:

  • 缺少完整的 ffmpeg 控制台输出。
  • -ss 选项对我有用:ffmpeg -ss 5s -i input.flv -t 5s output.flv,跳过 5 秒并给我 5 秒的输出视频。但我的 ffmpeg 实际上是 avconv。

标签: ffmpeg


【解决方案1】:

在较新版本的 ffmpeg 中,-ss-t 选项必须在 -i [filename] 之后。

【讨论】:

  • 谢谢你
  • 但请注意,-ss 的位置可以在-i 之前或之后,它们的用途不同。阅读此处了解更多信息:trac.ffmpeg.org/wiki/Seeking
【解决方案2】:

这可能是语法问题。以下应该可以正常工作:

/usr/bin/ffmpeg -ss 15 -y -i test.flv -frames:v 1 -an test.png

请注意,我删除了编解码器和格式参数。我认为在 png continuer 上强制 mjpeg 是不明智的,flv 不是 rawvideo 格式

【讨论】:

    【解决方案3】:

    你需要设置视频格式选项(EX: -preset ultrafast -s 1366x768 -r 10 -b:v 555k -crf 45 -vcodec libx264 -threads 0 -pix_fmt yuv420p)

    我在从视频中剪切部分时遇到了同样的问题,-c:v copy 只是给出了提到的警告并且没有任何反应。

    【讨论】:

      猜你喜欢
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 2016-04-26
      • 2016-05-08
      相关资源
      最近更新 更多