[Cin] FFmpeg supported QSV pixel formats and profiles
Andrew Randrianasulu
randrianasulu at gmail.com
Sun Oct 13 16:39:50 CEST 2024
вс, 13 окт. 2024 г., 17:29 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
> 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
>
>
ldd /home/cinelerra/cinelerra-5.1/bin/cin
but I think it does not matter because yeah full output below shows
that"home" build of cinelerra started
>
>
> 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
>
I am about to give up :(
I have no idea WHY it shows this error.
from "home" cin directory can you
cat bin/ffmpeg/video/av1_qsv.webm
cat bin/ffmpeg/video/av1_qsv.mp4
?
>
>
>
>
>>
>>
>>> 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/55128027/attachment-0001.htm>
More information about the Cin
mailing list