[Cin] FFmpeg supported QSV pixel formats and profiles
Andrew Randrianasulu
randrianasulu at gmail.com
Sun Oct 13 22:09:24 CEST 2024
OW!
may be I found it - try to move first line with # below "webm av1_qsv"
line, so "webm ..." will be VERY first line in profile
same for h264/vp9 ....
вс, 13 окт. 2024 г., 19:20 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
> Den 13.10.2024 17:16, skrev Andrew Randrianasulu:
>
>
>
> вс, 13 окт. 2024 г., 17:55 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>>
>>
>>
>> Den 13.10.2024 16:39, skrev Andrew Randrianasulu:
>>
>>
>>
>> вс, 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 :(
>>
>>
>> It is understandable, if not any new ideas popup.
>> We have already tried a lot.
>>
>>
>> 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
>>
>> ?
>>
>> localhost:/home/cinelerra/cinelerra-5.1 # cat
>> bin/ffmpeg/video/av1_qsv.webm
>> # only usable with ext. ffmpeg
>> webm av1_qsv
>> # cin_pix_fmt=nv12
>>
>> localhost:/home/cinelerra/cinelerra-5.1 # cat bin/ffmpeg/video/av1_qsv.mp4
>> # only usable with ext. ffmpeg
>> mp4 av1_qsv
>> cin_pix_fmt=nv12
>>
>>
> looks fine.
>
> I am afraid we better to try and rebuild our cingg BUT before you run make
> clean note params we passed to configure, put them into note somewhere.
>
> head config.log
>
> I think it should show ./configure --without-thirdparty --without-libdpx
> --with-single-user
>
> double-check to where installed ffmpeg-devel package installs
> libavcodec.h and other headers (may be there is gui for that?)
>
> also do not forgot to set to that directory
>
> CFLAGS=-I/usr/include/ffmpeg as example from previous attempt.
>
> Next, what prevent you from copying lines from git log output? Try
> selecting and pasting with shift key ... put shift down, move mouse cursor
> to line you want to copy, without unpressing shift put left mouse button
> down, move it to the right selecting line. Unpress mouse button first, then
> shift. I sometimes forgot to do this and selection/paste into midnight
> commander messes up :/
>
> you can simply redownload fresh git copy, and configure it anew in another
> folder, then copy over profile files to its bin subfolder and use this
> unpatched build for tests.
>
>
>
> Well, I think I need a break, and leave it as is in a while forward.
> Just upgraded to the latest Appimage and rpm for now :)
>
>
>
>
>
>
>
>>
>>
>>
>>>
>>>
>>>
>>>
>>>>
>>>>
>>>>> 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/c5da1c8a/attachment-0001.htm>
More information about the Cin
mailing list