[FFmpeg-trac] #8630(undetermined:new): Improve support for Bink videos.

FFmpeg trac at avcodec.org
Thu Apr 23 18:04:00 EEST 2020


#8630: Improve support for Bink videos.
--------------------------------------+----------------------------------
             Reporter:  vitaminace33  |                     Type:  defect
               Status:  new           |                 Priority:  minor
            Component:  undetermined  |                  Version:  4.2
             Keywords:                |               Blocked By:
             Blocking:                |  Reproduced by developer:  0
Analyzed by developer:  0             |
--------------------------------------+----------------------------------
 '''Summary:''' ffmpeg/libavcodec won't recognize a Bink video.

 '''Full description:''' I am trying to use VLC or any other media player
 to watch the in-game documentary of "Bioshock Remastered". The documentary
 comes in Bink format. I figured out that the problem is that
 ffmpeg/libavcodec does not recognize the video stream, it does for the
 audio stream as `binkaudio_dct`. Therefore, one can listen the audio
 stream, but that's it. I tried to convert the video, but obviously ffmpeg
 won't work (see output below). I hope you can do something to improve Bink
 decoding.

 '''Extra:''' I have prepared a 10MiB sample, in case you are interested.
 It can successfully be reproduced using
 [[http://www.radgametools.com/bnkdown.htm|Bink Video Player for Linux]].
 This software is however limited, you can't seek through the video and
 audio won't work properly. Good enough for testing, anyways.

 '''Ouput for VLC''
 {{{
 $ cvlc DC_1-Welcome.bik
 VLC media player 3.0.8 Vetinari (revision 3.0.8-0-gf350b6b5a7)
 [000055f0718d2a30] dummy interface: using the dummy interface module...
 [00007fc19c001150] avformat demux error: Unknown option "threads"
 [00007fc19cc09500] main demux error: option sub-original-fps does not
 exist
 [00007fc19cc94810] main demux error: option sub-original-fps does not
 exist
 [00007fc19cc1bd50] main demux error: option sub-original-fps does not
 exist
 [00007fc19cc93250] main demux error: option sub-original-fps does not
 exist
 [00007fc19e69c100] main demux error: option sub-original-fps does not
 exist
 [00007fc19feba310] main demux error: option sub-original-fps does not
 exist
 [00007fc19f2b0aa0] main demux error: option sub-original-fps does not
 exist
 [00007fc19feb9960] main decoder error: could not identify codec
 [00007fc19feb9960] main decoder error: Unidentified codec
 [00007fc19feb9960] main decoder error: VLC could not identify the audio or
 video codec
 }}}

 '''Ouput for FFmpeg'''
 {{{
 $ ffmpeg -v 9 -loglevel 99 -i DC_1-Welcome.bik
 ffmpeg version 4.2.2-1ubuntu1~18.04.york0 Copyright (c) 2000-2019 the
 FFmpeg developers
   built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
   configuration: --prefix=/usr --extra-version='1ubuntu1~18.04.york0'
 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu
 --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl
 --disable-stripping --enable-avresample --disable-filter=resample
 --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom
 --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca
 --enable-libcdio --enable-libcodec2 --enable-libflite --enable-
 libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme
 --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa
 --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-
 libpulse --enable-librsvg --enable-librubberband --enable-libshine
 --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh
 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-
 libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-
 libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi
 --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl
 --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883
 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264
 --enable-shared
   libavutil      56. 31.100 / 56. 31.100
   libavcodec     58. 54.100 / 58. 54.100
   libavformat    58. 29.100 / 58. 29.100
   libavdevice    58.  8.100 / 58.  8.100
   libavfilter     7. 57.100 /  7. 57.100
   libavresample   4.  0.  0 /  4.  0.  0
   libswscale      5.  5.100 /  5.  5.100
   libswresample   3.  5.100 /  3.  5.100
   libpostproc    55.  5.100 / 55.  5.100
 Splitting the commandline.
 Reading option '-v' ... matched as option 'v' (set logging level) with
 argument '9'.
 Reading option '-loglevel' ... matched as option 'loglevel' (set logging
 level) with argument '99'.
 Reading option '-i' ... matched as input url with argument
 'DC_1-Welcome.bik'.
 Finished splitting the commandline.
 Parsing a group of options: global .
 Applying option v (set logging level) with argument 9.
 Successfully parsed a group of options.
 Parsing a group of options: input url DC_1-Welcome.bik.
 Successfully parsed a group of options.
 Opening an input file: DC_1-Welcome.bik.
 [NULL @ 0x55e82c1d57c0] Opening 'DC_1-Welcome.bik' for reading
 [file @ 0x55e82c1d6240] Setting default whitelist 'file,crypto'
 Probing bink score:100 size:2048
 [bink @ 0x55e82c1d57c0] Format bink probed with size=2048 and score=100
 [bink @ 0x55e82c1d57c0] Bink 2 video is not implemented
 [bink @ 0x55e82c1d57c0] Before avformat_find_stream_info() pos: 70472
 bytes read:98304 seeks:0 nb_streams:2
 [bink @ 0x55e82c1d57c0] max_analyze_duration 5000000 reached at 5004170
 microseconds st:0
 [bink @ 0x55e82c1d57c0] stream 0: start_time: 0.000 duration: 734.028
 [bink @ 0x55e82c1d57c0] stream 1: start_time: 0.000 duration:
 -192153584101141.156
 [bink @ 0x55e82c1d57c0] format: start_time: 0.000 duration: 734.028
 bitrate=3059 kb/s
 [bink @ 0x55e82c1d57c0] Could not find codec parameters for stream 0
 (Video: none, 1 reference frame (KB2j / 0x6A32424B), none, 1920x1080
 (0x0), 50/1199): unknown codec
 Consider increasing the value for the 'analyzeduration' and 'probesize'
 options
 [bink @ 0x55e82c1d57c0] After avformat_find_stream_info() pos: 2050692
 bytes read:2050692 seeks:0 frames:241
 Input #0, bink, from 'DC_1-Welcome.bik':
   Duration: 00:12:14.03, start: 0.000000, bitrate: 3059 kb/s
     Stream #0:0[0x0], 120, 50/1199: Video: none, 1 reference frame (KB2j /
 0x6A32424B), none, 1920x1080 (0x0), 0/1, 23.98 fps, 23.98 tbr, 23.98 tbn,
 23.98 tbc
     Stream #0:1[0x0], 121, 1/48000: Audio: binkaudio_dct, 48000 Hz,
 stereo, fltp
 Successfully opened the file.
 At least one output file must be specified
 }}}

--
Ticket URL: <https://trac.ffmpeg.org/ticket/8630>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list