[Cin] FFmpeg supported QSV pixel formats and profiles

Terje J. Hanssen terjejhanssen at gmail.com
Sun Oct 13 16:29:14 CEST 2024




Den 13.10.2024 14:49, skrev Andrew Randrianasulu:
>
>
> вс, 13 окт. 2024 г., 15:44 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
>     Den 13.10.2024 14:04, skrev Andrew Randrianasulu:
>>
>>
>>     On Sun, Oct 13, 2024 at 2:43 PM Terje J. Hanssen
>>     <terjejhanssen at gmail.com> wrote:
>>
>>
>>
>>
>>         Den 13.10.2024 03:04, skrev Andrew Randrianasulu:
>>>         [snip]
>>>
>>>>>
>>>>>
>>>>>
>>>>>                 but can you check two more things with cmd line
>>>>>                 ffmpeg?
>>>>>
>>>>>
>>>>>                 first change .webm part of working command line to
>>>>>                 .mp4
>>>>>
>>>>>                 try it and report if and how it fail
>>>>>
>>>>>                 and then to mkv
>>>>>
>>>>>                 also report if it work or not.
>>>>>
>>>>>                 so we will try more common (for now ) container
>>>>>                 formats for av1, may be 7.0 simply can't make AV1
>>>>>                 IN mp4 container ....?
>>>>>
>>>>
>>>>             mp4 and mkv works like webm from ffmpeg command line:
>>>>
>>>>             du -sh dv01_07_av1_qsv_pr4_bv1570k.*
>>>>             24M dv01_07_av1_qsv_pr4_bv1570k.mkv
>>>>             24M dv01_07_av1_qsv_pr4_bv1570k.mp4
>>>>             24M dv01_07_av1_qsv_pr4_bv1570k.webm
>>>>
>>>>
>>>             Verified video and audio used with ffprobe :
>>>
>>>             ffprobe -hide_banner dv01_07_av1_qsv_pr4_bv1570k.mkv
>>>             Input #0, matroska,webm, from
>>>             'dv01_07_av1_qsv_pr4_bv1570k.mkv':
>>>               Metadata:
>>>                 TIMECODE        : 01:09:35:09
>>>                 ENCODER         : Lavf61.1.100
>>>               Duration: 00:01:53.29, start: -0.007000, bitrate: 1724
>>>             kb/s
>>>               Stream #0:0: Video: av1 (libdav1d) (Main), yuv420p(tv,
>>>             bottom coded first (swapped)), 720x576, SAR 16:15 DAR
>>>             4:3, 25 fps, 25 tbr, 1k tbn
>>>                   Metadata:
>>>                     ENCODER         : Lavc61.3.100 av1_qsv
>>>                     DURATION        : 00:01:53.280000000
>>>               Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp
>>>                   Metadata:
>>>                     ENCODER         : Lavc61.3.100 libopus
>>>                     DURATION        : 00:01:53.288000000
>>>             ---------
>>>
>>>             ffprobe -hide_banner dv01_07_av1_qsv_pr4_bv1570k.mp4
>>>             Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
>>>             'dv01_07_av1_qsv_pr4_bv1570k.mp4':
>>>               Metadata:
>>>                 major_brand     : isom
>>>                 minor_version   : 512
>>>                 compatible_brands: isomav01iso2mp41
>>>                 encoder         : Lavf61.1.100
>>>               Duration: 00:01:53.28, start: 0.000000, bitrate: 1768 kb/s
>>>               Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main)
>>>             (av01 / 0x31307661), yuv420p(tv, bottom coded first
>>>             (swapped)), 720x576, 1634 kb/s, SAR 16:15 DAR 4:3, 25
>>>             fps, 25 tbr, 12800 tbn (default)
>>>                   Metadata:
>>>                     handler_name    : VideoHandler
>>>                     vendor_id       : [0][0][0][0]
>>>                     encoder         : Lavc61.3.100 av1_qsv
>>>                     timecode        : 01:09:35:09
>>>               Stream #0:1[0x2](und): Audio: aac (LC) (mp4a /
>>>             0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
>>>                   Metadata:
>>>                     handler_name    : SoundHandler
>>>                     vendor_id       : [0][0][0][0]
>>>               Stream #0:2[0x3](eng): Data: none (tmcd / 0x64636D74)
>>>                   Metadata:
>>>                     handler_name    : TimeCodeHandler
>>>                     timecode        : 01:09:35:09
>>>             Unsupported codec with id 0 for input stream 2
>>>             ---------
>>>
>>>             ffprobe -hide_banner dv01_07_av1_qsv_pr4_bv1570k.webm
>>>             Input #0, matroska,webm, from
>>>             'dv01_07_av1_qsv_pr4_bv1570k.webm':
>>>               Metadata:
>>>                 TIMECODE        : 01:09:35:09
>>>                 ENCODER         : Lavf61.1.100
>>>               Duration: 00:01:53.29, start: -0.007000, bitrate: 1724
>>>             kb/s
>>>               Stream #0:0: Video: av1 (libdav1d) (Main),
>>>             yuv420p(tv), 720x576, SAR 16:15 DAR 4:3, 25 fps, 25 tbr,
>>>             1k tbn
>>>                   Metadata:
>>>                     ENCODER         : Lavc61.3.100 av1_qsv
>>>                     DURATION        : 00:01:53.280000000
>>>               Stream #0:1: Audio: opus, 48000 Hz, stereo, fltp
>>>                   Metadata:
>>>                     ENCODER         : Lavc61.3.100 libopus
>>>                     DURATION        : 00:01:53.288000000
>>>
>>>
>>>         so, it works for ffmpeg but not for us.
>>>
>>>         can you test those two attached files (profile for
>>>         av1_qsv.webm and default file for av1_qsv, put both in
>>>         bin/ffmpeg/video) ?
>>>
>>>
>>         I should hope I could report progress, but sorry - it's the
>>         same immediately error with av1_qsv.webm
>>
>>         localhost:/home/cinelerra/cinelerra-5.1
>>         # ls bin/ffmpeg/video/av1_qsv*
>>         bin/ffmpeg/video/av1_qsv.dfl bin/ffmpeg/video/av1_qsv.mp4
>>         bin/ffmpeg/video/av1_qsv.webm
>>
>>         # bin/cin
>>         Render to: /Videoklipp/QSV/dv01_07_av1_qsv.webm
>>         FFMPEG/webm
>>         Audio Preset: webm.webm (tried also opus.webm and
>>         opus.ffmpeg.webm)
>>         Video compression: av1_qsv.webm
>>         Pixels: yuv420
>>
>>
>>
>>     should be: Pixels: nv12 (due to QSV accepting it only this way)
>
>     Here show to be something strange;
>     Some times entering the Video preset and compression av1_qsv.webm:
>     pixels has shifted between yuv420p and nv12, and no other option
>     to select each time!?
>
>
> I think this mean selected codec does not exist.
>
> be sure to launch self-compiled against system's ffmpeg version of cin 
> (you can check libraries it links to by using ldd path_to_executable )

Please, specify the command steps with paths

My system ffmpeg is

    which ffmpeg
    /usr/bin/ffmpeg

My Cinelerra "home" installation is

    /home/cinelerra/cinelerra-5.1


>
>     It looks like when I write 'nv12' directly in the widget it
>     remember it next time.
>     But it doesn't help on the render error
>
>
>
> yeah, strange.
>
> Can you
> a) launch cin like LANG=C bin/cin
>
> b) try to save video to somesimple location like /dev/shm/1.mp4

Then the initial PluginFilter errors arised again, see terminal output 
below
By the way, the same render error as previously

localhost:/home/cinelerra/cinelerra-5.1 # LANG=C bin/cin
Cinelerra Infinity - built: Sep 23 2024 10:31:07
git://git.cinelerra-gg.org/goodguy/cinelerra.git
(c) 2006-2019 Heroine Virtual Ltd. by Adam Williams
2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy
2003-2017 mods for Cinelerra-CV by CinelerraCV team
2015-2024 mods for Cinelerra-GG by Cinelerra-GG team

Libav version: Lavc61.3.100

Cinelerra is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. There is absolutely no warranty for Cinelerra.

lang changed from 'POSIX' to 'C'
build plugin index for: /home/cinelerra/cinelerra-5.1/bin/plugins
PluginFFilter::new_ffilter(lv2)
   err: Operation not permitted
[sofalizer_205 @ 0x33de0780] Valid SOFA filename must be set.
PluginFFilter::new_ffilter(sofalizer)
   err: Invalid argument
PluginFFilter::new_ffilter(blend_vulkan)
   err: Input/output error
PluginFFilter::new_ffilter(libplacebo)
   err: Operation not permitted
PluginFFilter::new_ffilter(overlay_qsv)
   err: Input/output error
PluginFFilter::new_ffilter(overlay_vulkan)
   err: Input/output error
PluginFFilter::new_ffilter(xfade_vulkan)
   err: Input/output error
PluginFFilter::new_ffilter(hstack_qsv)
   err: Operation not permitted
PluginFFilter::new_ffilter(vstack_qsv)
   err: Operation not permitted
PluginFFilter::new_ffilter(xstack_qsv)
   err: Operation not permitted
build lv2 index for: $CIN_PATH/lv2
int FFMPEG::init_encoder(const char*):
mismatch audio/video file format: /dev/shm/1.mp4
Render::render_single: Session finished.
Total excess of backups: -50
Session time: 0:03:28
Cpu time: user: 0:00:05.252 sys: 0:00:02.696


>
>
>
>>         webm av1_qsv
>>         # cin_pix_fmt=nv12
>>         (+)
>>         Overwrite: /Videoklipp/QSV/dv01_07_av1_qsv.webm
>>         (+)
>>         Cin error; Couldn't open /Videoklipp/QSV/dv01 07 av1 qsv.webm
>>         (+)
>>         Error rendering data
>>
>>
>>
>>     strange, Overwrite: /Videoklipp/QSV/dv01_07_av1_qsv.webm
>
>     Have to confirm (+) or (-) when the file name exists from before
>>
>>     yet Couldn't open /Videoklipp/QSV/dv01 07 av1 qsv.webm (with
>>     spaces, not underscores)
>
>     Yeah, it seemed as the underscores were stripped away, a graphical
>     issue here?
>>
>>         -------------
>>         Message log:
>>         int FFMPEG::init_encoder(const char*):
>>         mismatch audio/video file format:
>>         /Videoklipp/QSV/dv01_07_av1_qsv.webm
>>         Render::render_single: Session finished.
>>         -----------
>>
>>         Another question I wondered about from yesterday:
>>         "you can change loglevel to debug in bin/ffmpeg/encode.opts
>>         too, it will produce bugger log, hopefully with more detailed
>>         error msg."
>>         -------
>>         localhost:/home/cinelerra/cinelerra-5.1/bin/ffmpeg # cat
>>         encode.opts
>>         # apply at init encode
>>         #loglevel=error
>>         loglevel=debug
>>         threads=auto
>>         side_data_only_packets=1
>>         ----------------
>>         As I understood this, the loglevel=debug is setup in Cingg's
>>         internal ffmpeg, to "trigger" debug error messages from the
>>         external system ffmpeg(?)
>>         How does communication work, and did it report more detailed
>>         error msg."
>>
>>
>>     Yeah, but we are not even at encoding entrypoint, so this line
>>     had no chance to show anything.
>
>     That's also my impression, the encoding really never starts and
>     breaks immediately
>     So there is no ffmpeg log file to inspect
>
>>
>>
>>
>>         ====================================
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241013/1e79f6e7/attachment-0001.htm>


More information about the Cin mailing list