gpt4 book ai didi

c# - 在 C# 代码中使用 ffprobe 获取视频文件中的帧数

转载 作者:行者123 更新时间:2023-12-04 23:04:22 24 4
gpt4 key购买 nike

我可以通过以下命令在命令提示符下使用 Ffprobe 成功读取 test.mp4 中的帧数:

>ffprobe -i 'c://test.mp4' -show_frames | find /c 'pict_type'

但是,当我尝试使用以下参数从 C# 代码运行“ffprobe.exe”时:
string params = " -i 'c://test.mp4' -show_frames | find /c 'pict_type'";

它错误如下:
ffprobe version N-59453-gd52882f Copyright (c) 2007-2013 the FFmpeg developers
built on Dec 30 2013 22:07:23 with gcc 4.8.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 52. 59.100 / 52. 59.100
libavcodec 55. 47.100 / 55. 47.100
libavformat 55. 22.101 / 55. 22.101
libavdevice 55. 5.102 / 55. 5.102
libavfilter 4. 0.103 / 4. 0.103
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
libpostproc 52. 3.100 / 52. 3.100
Argument '|' provided as input filename, but ''c://test.mp4'' was already specified.

如何为 C# 解决这个问题?

我知道有一个使用 Ffmpeg 的解决方法相反,但这种方式不够干净。

最佳答案

可能是因为 C# 控制台不支持管道或查找。我会考虑使用 ffprobe 输出的结果在 C# 中编写 pict_type 的查找实例。

string params = " -i 'c://test.mp4' -show_frames";



就像是:

output.Count(x => x == "pict_type");

关于c# - 在 C# 代码中使用 ffprobe 获取视频文件中的帧数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21985195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com