【问题标题】:ffmpeg command line write output to a text fileffmpeg 命令行将输出写入文本文件
【发布时间】:2015-06-23 04:40:02
【问题描述】:

我正在使用这个脚本在 ffmpeg 中进行镜头检测。

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

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

【问题讨论】:

    标签: ffmpeg output ffprobe


    【解决方案1】:

    您将输出重定向到文件:

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

    如果您想要 stdoutstderr 的单独文件,您可以这样做:

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

    【讨论】:

    • 是的,我现在记得这个。这对我来说一直是个谜。这种奇怪的事情有什么解释吗?
    • @Apostolos 哪个奇怪的东西?
    • 我的意思是2>&1 的东西。为什么,你有解释吗? 什么方式解决了常规>file重定向不起作用的问题?
    • 有两种不同的标准输出流,stdout (1) 和stderr (2) 可以单独使用。 > 重定向 stdout (1) 到一个文件,2>&1 重定向 stderr (2) 到用于 (1) 的文件描述符的副本,因此正常输出和错误消息都写入同一个文件.一些 shell 有一个 &> 来重定向两个标准输出流。
    • @Apostolos 这不是一个好的推理。在ffmpeg 的情况下,stdout 可能用于视频输出,以便将其通过管道传输到其他进程。
    猜你喜欢
    • 1970-01-01
    • 2021-05-07
    • 2012-02-18
    • 2011-04-17
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多