[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