ffmpeg命令行将输出写入文本文件

Asa*_*aya 9 ffmpeg ffprobe output

我在ffmpeg中使用此脚本进行镜头检测.

ffprobe -show_frames -of compact=p=0 -f lavfi "movie=test.mp4,select=gt(scene\,0.3)"
Run Code Online (Sandbox Code Playgroud)

我需要将输出写入文本文件,以便从ac程序中读取输出.我怎样才能做到这一点?任何帮助表示赞赏.

aer*_*tal 26

您将输出重定向到文件:

ffprobe -show_frames -of compact=p=0 -f lavfi "movie=test.mp4,select=gt(scene\,0.3)" > output.txt 2>&1

如果你想要单独的文件stdout,stderr你可以这样做:

[..] > out.txt 2> err.txt

  • 有两种不同的标准输出流,“stdout”(1) 和“stderr”(2),可以单独使用。`>` 将 `stdout` (1) 重定向到文件,而 `2>&1` 将 `stderr` (2) 重定向到用于 (1) 的文件描述符的副本,因此正常输出和错误消息都会写入相同的文件。有些 shell 有一个“&>”来重定向两个标准输出流。 (4认同)
  • @Apostolos 这不是一个好的推理。在“ffmpeg”的情况下,stdout 可能用于视频输出,以便将其通过管道传输到其他进程。 (3认同)