[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