ffprobe 无法读取文件但其他软件可以

ffprobe 无法读取文件但其他软件可以

我遇到了一个奇怪的问题,我想知道是什么原因造成的。我有一个文件,它肯定存在:

Get-ChildItem -Path '\\192.168.10.201\Media\TV\Life With an Ordinary Guy Who Reincarnated Into a Total Fantasy Knockout\Life.With.an.Ordinary.Guy.Who.Reincarnated.Into.a.Total.Fantasy.Knockout.S01E03.An.Ordinary.Guy.Who.Reincarnated.Into.A.Total.Fantasy.Knockout.And.An.Angry.Elf.mkv'


    Directory: \\192.168.10.201\Media\TV\Life With an Ordinary Guy Who Reincarnated Into a Total Fantasy Knockout


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
------        26/01/2022   6:35 AM      411768981 Life.With.an.Ordinary.Guy.Who.Reincarnated.Into.a.Total.Fantasy.Knockout.S01E03.An.Ordinary.Guy.Who.Reincarnated.Into.A.Total.Fantasy.Knockout.And.An.Angry.Elf.mkv

但是当我尝试将它传递给ffprobe它时出现错误:

ffprobe '\\192.168.10.201\Media\TV\Life With an Ordinary Guy Who Reincarnated Into a Total Fantasy Knockout\Life.With.an.Ordinary.Guy.Who.Reincarnated.Into.a.Total.Fantasy.Knockout.S01E03.An.Ordinary.Guy.Who.Reincarnated.Into.A.Total.Fantasy.Knockout.And.An.Angry.Elf.mkv'
ffprobe version 4.4-full_build-www.gyan.dev Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
\\192.168.10.201\Media\TV\Life With an Ordinary Guy Who Reincarnated Into a Total Fantasy Knockout\Life.With.an.Ordinary.Guy.Who.Reincarnated.Into.a.Total.Fantasy.Knockout.S01E03.An.Ordinary.Guy.Who.Reincarnated.Into.A.Total.Fantasy.Knockout.And.An.Angry.Elf.mkv: No such file or directory

我也尝试将它传递给,notepad并且正如预期的那样,它花了一段时间才能打开,然后出现为垃圾。

我可以毫无意外地打开同一目录中的其他文件,因此这并不是ffprobe访问 SMB 共享时遇到的任何问题:

ffprobe '\\192.168.10.201\Media\TV\Life With an Ordinary Guy Who Reincarnated Into a Total Fantasy Knockout\Life.With.an.Ordinary.Guy.Who.Reincarnated.Into.a.Total.Fantasy.Knockout.S01E01.Episode.1.mkv'
ffprobe version 4.4-full_build-www.gyan.dev Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 10.2.0 (Rev6, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, matroska,webm, from '\\192.168.10.201\Media\TV\Life With an Ordinary Guy Who Reincarnated Into a Total Fantasy Knockout\Life.With.an.Ordinary.Guy.Who.Reincarnated.Into.a.Total.Fantasy.Knockout.S01E01.Episode.1.mkv':
  Metadata:
    ENCODER         : Lavf57.83.100
  Duration: 00:23:50.22, start: 0.000000, bitrate: 2561 kb/s
  Stream #0:0: Video: hevc (Main), yuv420p(tv, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 23.98 tbc (default)
    Metadata:
      BPS-eng         : 7983952
      DURATION-eng    : 00:23:50.014000000
      NUMBER_OF_FRAMES-eng: 34286
      NUMBER_OF_BYTES-eng: 1427145548
      _STATISTICS_WRITING_APP-eng: no_variable_data
      _STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      ENCODER         : Lavc57.107.100 hevc_nvenc
      DURATION        : 00:23:50.221000000
  Stream #0:1(jpn): Audio: aac (LC), 44100 Hz, stereo, fltp (default)
    Metadata:
      BPS-eng         : 128000
      DURATION-eng    : 00:23:50.070000000
      NUMBER_OF_FRAMES-eng: 61588
      NUMBER_OF_BYTES-eng: 22881130
      _STATISTICS_WRITING_APP-eng: no_variable_data
      _STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:23:50.070000000
  Stream #0:2(eng): Subtitle: ass (default)
    Metadata:
      title           : English subs
      BPS-eng         : 192
      DURATION-eng    : 00:23:37.500000000
      NUMBER_OF_FRAMES-eng: 489
      NUMBER_OF_BYTES-eng: 34020
      _STATISTICS_WRITING_APP-eng: no_variable_data
      _STATISTICS_WRITING_DATE_UTC-eng: 1970-01-01 00:00:00
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:23:49.990000000
  Stream #0:3: Attachment: ttf
    Metadata:
      filename        : Roboto-Medium.ttf
      mimetype        : application/x-truetype-font
  Stream #0:4: Attachment: ttf
    Metadata:
      filename        : Roboto-MediumItalic.ttf
      mimetype        : application/x-truetype-font
  Stream #0:5: Attachment: ttf
    Metadata:
      filename        : arial.ttf
      mimetype        : application/x-truetype-font
  Stream #0:6: Attachment: ttf
    Metadata:
      filename        : arialbd.ttf
      mimetype        : application/x-truetype-font
  Stream #0:7: Attachment: ttf
    Metadata:
      filename        : comic.ttf
      mimetype        : application/x-truetype-font
  Stream #0:8: Attachment: ttf
    Metadata:
      filename        : comicbd.ttf
      mimetype        : application/x-truetype-font
  Stream #0:9: Attachment: ttf
    Metadata:
      filename        : times.ttf
      mimetype        : application/x-truetype-font
  Stream #0:10: Attachment: ttf
    Metadata:
      filename        : timesbd.ttf
      mimetype        : application/x-truetype-font
  Stream #0:11: Attachment: ttf
    Metadata:
      filename        : trebuc.ttf
      mimetype        : application/x-truetype-font
  Stream #0:12: Attachment: ttf
    Metadata:
      filename        : trebucbd.ttf
      mimetype        : application/x-truetype-font
  Stream #0:13: Attachment: ttf
    Metadata:
      filename        : verdana.ttf
      mimetype        : application/x-truetype-font
  Stream #0:14: Attachment: ttf
    Metadata:
      filename        : verdanab.ttf
      mimetype        : application/x-truetype-font
Unsupported codec with id 98304 for input stream 3
Unsupported codec with id 98304 for input stream 4
Unsupported codec with id 98304 for input stream 5
Unsupported codec with id 98304 for input stream 6
Unsupported codec with id 98304 for input stream 7
Unsupported codec with id 98304 for input stream 8
Unsupported codec with id 98304 for input stream 9
Unsupported codec with id 98304 for input stream 10
Unsupported codec with id 98304 for input stream 11
Unsupported codec with id 98304 for input stream 12
Unsupported codec with id 98304 for input stream 13
Unsupported codec with id 98304 for input stream 14

我可以轻松重命名此文件以避免该问题,但我想知道这可能会影响哪些其他文件。

我将其标记为 PowerShell (因为我在那里测试它)但如果我使用 NodeJS 启动 ffprobe ,我也会看到同样的问题child_process

答案1

经过仔细检查,它似乎ffprobe支持最大路径长度为 259 个字符

我认为,由于 Windows 长期以来一直支持较长的路径,因此不再需要担心这个问题。但我猜软件必须更新才能支持长路径。

相关内容