[FFmpeg-trac] #10397(undetermined:new): Feature Request: Support for decoding RTV1 codec

FFmpeg trac at avcodec.org
Sat Jun 3 12:17:15 EEST 2023


#10397: Feature Request: Support for decoding RTV1 codec
-------------------------------------+-------------------------------------
             Reporter:  geegee       |                    Owner:  (none)
                 Type:  enhancement  |                   Status:  new
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  git-master   |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Description changed by geegee:

Old description:

> Dear FFmpeg Development Team,
>
> I am writing to request the addition of support for decoding videos
> encoded with the RTV1 codec in FFmpeg. RTV1 seems to be a special codec
> developed by the guys behind the RivaTuner/Afterburner software for
> recording gaming sessions and/or the screen in general.
>
> I believe that adding support for decoding the RTV1 codec in FFmpeg would
> be a valuable feature for users like myself who have videos encoded with
> this codec and would like to convert them to other formats using the vast
> flexibility of FFMPEG, or just play them back with FFPLAY.
>
> The codec itself gets installed by MSI Afterburner software, and it is
> placed in
> {{{
> "%ProgramFiles(x86)%\RivaTuner Statistics Server\Codec"
> }}}
>

> The filenames are:
>
> {{{
> rtvcvfw32.dll
> rtvcvfw64.dll
> }}}
>
> Codec Description from MSI tooltip:
> {{{
> RTV1 compression - the video is being encoded in RivaTuner Video format
> V1. RivaTuner Video Codec installation is required to play video encoded
> in
> this format. RivaTuner Video format V1 is lossy compression format based
> on hybrid of DXT1 and RLE compression algorithms with 6x or higher
> compression ratio. RTV1 encoder is able to encode high resolution video
> at
> high framerate without consuming too much CPU time, so this format is
> recommended for the systems with single core or slow dual core CPUs.
> }}}
>
> Sample output analysis of a dummy RTV1 encoded file using FFPROBE:
> {{{
> >ffprobe -analyzeduration 100M -probesize 100M rtv1_video_test.mkv
> ffprobe version 2023-05-04-git-4006c71d19-full_build-www.gyan.dev
> Copyright (c) 2007-2023 the FFmpeg developers
>   built with gcc 12.2.0 (Rev10, 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-bzlib
> --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-
> libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-
> libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-
> libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d
> --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp
> --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid
> --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx
> --enable-mediafoundation --enable-libass --enable-frei0r --enable-
> libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab
> --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm
> --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-
> d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-
> vulkan --enable-libplacebo --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-libcodec2 --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      58.  6.100 / 58.  6.100
>   libavcodec     60. 10.100 / 60. 10.100
>   libavformat    60.  5.100 / 60.  5.100
>   libavdevice    60.  2.100 / 60.  2.100
>   libavfilter     9.  7.100 /  9.  7.100
>   libswscale      7.  2.100 /  7.  2.100
>   libswresample   4. 11.100 /  4. 11.100
>   libpostproc    57.  2.100 / 57.  2.100
> [matroska,webm @ 000001f8b25a3680] Unknown/unsupported AVCodecID
> V_MS/VFW/FOURCC.
> [matroska,webm @ 000001f8b25a3680] Could not find codec parameters for
> stream 0 (Video: none (RTV1 / 0x31565452), none, 1920x1080): unknown
> codec
> Consider increasing the value for the 'analyzeduration' (100000000) and
> 'probesize' (100000000) options
> Input #0, matroska,webm, from 'rtv1_video_test.mkv':
>   Metadata:
>     title           : rtv1_video_test.mkv
>     encoder         : RivaTuner media encoding library v1.39.0.0
>     creation_time   : 2023-06-02T23:59:21.310000Z
>   Duration: 00:00:08.43, start: 0.000000, bitrate: 368702 kb/s
>   Stream #0:0(eng): Video: none (RTV1 / 0x31565452), none, 1920x1080, SAR
> 1:1 DAR 16:9, 60 fps, 60 tbr, 1k tbn (default)
>   Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536
> kb/s (default)
> Unsupported codec with id 0 for input stream 0
> }}}
> Thank you for considering my request.

New description:

 Dear FFmpeg Development Team,

 I am writing to request the addition of support for decoding videos
 encoded with the RTV1 codec in FFmpeg. RTV1 seems to be a special codec
 developed by the guys behind the RivaTuner/Afterburner software for
 recording gaming sessions and/or the screen in general.

 I believe that adding support for decoding the RTV1 codec in FFmpeg would
 be a valuable feature for users like myself who have videos encoded with
 this codec and would like to convert them to other formats using the vast
 flexibility of FFMPEG, or just play them back with FFPLAY.

 The codec itself gets installed by MSI Afterburner software, and it is
 placed in
 {{{
 "%ProgramFiles(x86)%\RivaTuner Statistics Server\Codec"
 }}}


 The filenames are:

 {{{
 rtvcvfw32.dll
 rtvcvfw64.dll
 }}}

 Codec Description from MSI tooltip:
 {{{
 RTV1 compression - the video is being encoded in RivaTuner Video format
 V1. RivaTuner Video Codec installation is required to play video encoded
 in
 this format. RivaTuner Video format V1 is lossy compression format based
 on hybrid of DXT1 and RLE compression algorithms with 6x or higher
 compression ratio. RTV1 encoder is able to encode high resolution video at
 high framerate without consuming too much CPU time, so this format is
 recommended for the systems with single core or slow dual core CPUs.
 }}}

 Sample output analysis of a dummy RTV1 encoded file using FFPROBE:
 {{{
 >ffprobe -analyzeduration 100M -probesize 100M
 Quake_x64_steam_2023_06_03_01_59_35_084.mkv
 ffprobe version 2023-05-04-git-4006c71d19-full_build-www.gyan.dev
 Copyright (c) 2007-2023 the FFmpeg developers
   built with gcc 12.2.0 (Rev10, 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-bzlib --enable-lzma
 --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt
 --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray
 --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption
 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi
 --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264
 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom
 --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-
 mediafoundation --enable-libass --enable-frei0r --enable-libfreetype
 --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-
 libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid
 --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va
 --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan
 --enable-libplacebo --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-libcodec2 --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      58.  6.100 / 58.  6.100
   libavcodec     60. 10.100 / 60. 10.100
   libavformat    60.  5.100 / 60.  5.100
   libavdevice    60.  2.100 / 60.  2.100
   libavfilter     9.  7.100 /  9.  7.100
   libswscale      7.  2.100 /  7.  2.100
   libswresample   4. 11.100 /  4. 11.100
   libpostproc    57.  2.100 / 57.  2.100
 [matroska,webm @ 000001f6db173680] Unknown/unsupported AVCodecID
 V_MS/VFW/FOURCC.
 [matroska,webm @ 000001f6db173680] Could not find codec parameters for
 stream 0 (Video: none (RTV1 / 0x31565452), none, 1920x1080): unknown codec
 Consider increasing the value for the 'analyzeduration' (100000000) and
 'probesize' (100000000) options
 Input #0, matroska,webm, from
 'Quake_x64_steam_2023_06_03_01_59_35_084.mkv':
   Metadata:
     title           : Quake_x64_steam_2023_06_03_01_59_35_084.mkv
     encoder         : RivaTuner media encoding library v1.39.0.0
     creation_time   : 2023-06-03T01:59:35.153000Z
   Duration: 00:00:15.03, start: 0.000000, bitrate: 391626 kb/s
   Stream #0:0(eng): Video: none (RTV1 / 0x31565452), none, 1920x1080, SAR
 1:1 DAR 16:9, 60 fps, 60 tbr, 1k tbn (default)
   Stream #0:1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
 (default)
 Unsupported codec with id 0 for input stream 0
 }}}

 Link to download the sample video and the codec DLLs:
 {{{
 https://mega.nz/folder/j9UklByL#UGECRD-W1P3gqv2na_GAmA
 }}}

 Thank you for considering my request.

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10397#comment:4>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list