[Cin] FFmpeg supported QSV pixel formats and profiles

Terje J. Hanssen terjejhanssen at gmail.com
Sun Oct 13 14:44:00 CEST 2024




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!?
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

>     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/0702ad26/attachment.htm>


More information about the Cin mailing list