web-dev-qa-db-ja.com

ffmpeg -ss:圧縮されていないflacの問題

FLAC Uncompressedに音楽ライブラリがあります。FFmpeg-ssオプションを指定して使用すると、少なくとも1つのファイルに問題があります。

FLACレベル0に変換すると、正常に動作します。

そのファイルでFFmpeg-ssを使用する場合FLAC非圧縮:

ffmpeg -ss 15 -i "02 - Sad But True.uncompressedNotWorking.flac" out.flac 2> log.txt

エラー:

[flac @ 000001ed6f1e4a00] blocksize 16384 > 4608
[flac @ 000001ed6f1e4a00] decode_frame() failed
Error while decoding stream *0:0: Invalid data found when processing input

ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20181017
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-        fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input *0, flac, from '02 - Sad But True.uncompressedNotWorking.flac':
  Metadata:
    ALBUM           : Metallica (Studio Master 24bit/96kHz)
    album_artist    : Metallica
    ARTIST          : Metallica
    GENRE           : Pop/Rock
    HDTRACKS        : www.hdtracks.com
    TITLE           : Sad But True
    DATE            : 1991
    track           : 02
    TRACKTOTAL      : 12
  Duration: 00:05:24.71, start: 0.000000, bitrate: 4610 kb/s
    Stream *0:0: Audio: flac, 96000 Hz, stereo, s32 (24 bit)
    Stream *0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 500x500 [SAR 600:600 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    Metadata:
      comment         : Cover (front)
Stream mapping:
  Stream *0:1 -> *0:0 (mjpeg (native) -> png (native))
  Stream *0:0 -> *0:1 (flac (native) -> flac (native))
Press [q] to stop, [?] for help
[swscaler @ 000001ed6f252000] deprecated pixel format used, make sure you did set range correctly
[flac @ 000001ed6f192000] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
[flac @ 000001ed6f1e4a00] blocksize 16384 > 4608
[flac @ 000001ed6f1e4a00] decode_frame() failed
Error while decoding stream *0:0: Invalid data found when processing input
Output *0, flac, to 'out.flac':
  Metadata:
    ALBUM           : Metallica (Studio Master 24bit/96kHz)
    album_artist    : Metallica
    ARTIST          : Metallica
    GENRE           : Pop/Rock
    HDTRACKS        : www.hdtracks.com
    TITLE           : Sad But True
    DATE            : 1991
    track           : 02
    TRACKTOTAL      : 12
    encoder         : Lavf58.20.100
    Stream *0:0: Video: png, rgb24, 500x500 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 90k fps, 90k tbn, 90k tbc
    Metadata:
      comment         : Cover (front)
      encoder         : Lavc58.35.100 png
    Stream *0:1: Audio: flac, 49920 Hz, mono, s32 (24 bit), 128 kb/s
    Metadata:
      encoder         : Lavc58.35.100 flac
[flac @ 000001ed6f192000] No packets were sent for some of the attached pictures.
frame=    0 fps=0.0 q=0.0 Lsize=       8kB time=00:00:00.00 bitrate=N/A speed=   0x    
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

そのファイルでFFmpegを使用する場合FLACレベル0:

ffmpeg -ss 15 -i "02 - Sad But True.level0Working.flac" out.flac 2> log.txt

エラーはありません。


ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20181017
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Input *0, flac, from '02 - Sad But True.level0Working.flac':
  Metadata:
    ALBUM           : Metallica (Studio Master 24bit/96kHz)
    album_artist    : Metallica
    ARTIST          : Metallica
    GENRE           : Pop/Rock
    HDTRACKS        : www.hdtracks.com
    TITLE           : Sad But True
    DATE            : 1991
    track           : 02
    TRACKTOTAL      : 12
  Duration: 00:05:24.71, start: 0.000000, bitrate: 3434 kb/s
    Stream *0:0: Audio: flac, 96000 Hz, stereo, s32 (24 bit)
    Stream *0:1: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 500x500 [SAR 600:600 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    Metadata:
      comment         : Cover (front)
Stream mapping:
  Stream *0:1 -> *0:0 (mjpeg (native) -> png (native))
  Stream *0:0 -> *0:1 (flac (native) -> flac (native))
Press [q] to stop, [?] for help
[swscaler @ 000001c1f86c3600] deprecated pixel format used, make sure you did set range correctly
[flac @ 000001c1f7b21fc0] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
Output *0, flac, to 'out.flac':
  Metadata:
    ALBUM           : Metallica (Studio Master 24bit/96kHz)
    album_artist    : Metallica
    ARTIST          : Metallica
    GENRE           : Pop/Rock
    HDTRACKS        : www.hdtracks.com
    TITLE           : Sad But True
    DATE            : 1991
    track           : 02
    TRACKTOTAL      : 12
    encoder         : Lavf58.20.100
    Stream *0:0: Video: png, rgb24, 500x500 [SAR 1:1 DAR 1:1], q=2-31, 200 kb/s, 90k fps, 90k tbn, 90k tbc
    Metadata:
      comment         : Cover (front)
      encoder         : Lavc58.35.100 png
    Stream *0:1: Audio: flac, 96000 Hz, stereo, s32 (24 bit), 128 kb/s
    Metadata:
      encoder         : Lavc58.35.100 flac
frame=    0 fps=0.0 q=0.0 size=       0kB time=00:01:22.00 bitrate=   0.0kbits/s speed= 164x    
frame=    0 fps=0.0 q=0.0 size=       0kB time=00:02:49.21 bitrate=   0.0kbits/s speed= 169x    
frame=    0 fps=0.0 q=0.0 size=       0kB time=00:04:15.82 bitrate=   0.0kbits/s speed= 170x    
[flac @ 000001c1f7b21fc0] No packets were sent for some of the attached pictures.
frame=    0 fps=0.0 q=0.0 Lsize=  117467kB time=00:05:09.70 bitrate=3107.1kbits/s speed= 165x    
video:0kB audio:117458kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.007065%

ダウンロードするファイルがここにあります(比較するのに問題なく機能するファイルも共有しています): https://ln.sync.com/dl/c22d42b70/g73wq4ay-eadtfpwv-jjansvmx-mu2ddgi6

これがFFmpegのバグかどうかはわかりません。

ありがとう!

2
rdsu

おそらくバグ。回避策は、デコード後のシークを実行することです。

ffmpeg -i "02 - Sad But True.uncompressedNotWorking.flac" -ss 15 out.flac 2> log.txt
1
Gyan