Project

General

Profile

Actions

action #163601

closed

coordination #103938: [saga][epic] Scale up: Efficient handling of large storage on o3

Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters - incompatible ffmpeg size:S

Added by mloviska 3 months ago. Updated 2 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Regressions/Crashes
Target version:
Start date:
2024-07-10
Due date:
% Done:

0%

Estimated time:

Description

Observation

Input #0, image2pipe, from 'pipe:':
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: ppm, rgb24, 1024x768, 24 fps, 24 tbr, 24 tbn, 24 tbc
Codec AVOption crf (Select the quality for constant quality mode) specified for output file #0 (video.webm) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
  Stream #0:0 -> #0:0 (ppm (native) -> av1 (libsvtav1))
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:    SVT-AV1 Encoder Lib v2.1.1
Svt[info]: SVT [build]  :    GCC 13.3.0     64 bit
Svt[info]: LIB Build date: Jun 25 2024 20:46:15
Svt[info]: -------------------------------------------
Svt[error]: Instance 1: Target Bitrate only supported when --rc is  1/2 (VBR/CBR). Current --rc: 0
[libsvtav1 @ 0x558d708e0c00] Error setting encoder parameters: bad parameter (0x80001005)
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Conversion failed!

The above error has appeared in my local openQA instance running on TW 20240708.

List of currently used openQA related packages that were incompatible with used version of ffmpeg

os-autoinst-qemu-kvm-4.6.1720187836.12ff220-1.1.x86_64
openQA-local-db-4.6.1720189080.136b92a5-1.1.x86_64
os-autoinst-openvswitch-4.6.1720187836.12ff220-1.1.x86_64
openQA-worker-4.6.1720189080.136b92a5-1.1.x86_64
os-autoinst-devel-4.6.1720187836.12ff220-1.1.x86_64
os-autoinst-4.6.1720187836.12ff220-1.1.x86_64
openQA-client-4.6.1720189080.136b92a5-1.1.x86_64
openQA-4.6.1720189080.136b92a5-1.1.x86_64
openQA-common-4.6.1720189080.136b92a5-1.1.x86_64
os-autoinst-distri-opensuse-deps-1.1674229328.3f0c40ae-1.3.noarch
2024-07-08 13:41:58|install|libheif-ffmpeg|1.17.6-2.1|x86_64||download.opensuse.org-oss|74393985c612c4ea1b81ecd42be9fadb99f298bc34e96fd30a84063058f2ad3d5f3673683c742301b3b12a6d45d5393b1c532362dbe2d60e2e77054d249ea333|
2024-07-08 13:44:14|install|ffmpeg-4|4.4.4-10.1|x86_64||download.opensuse.org-oss|f41f25134747f52d850468afa9f780a7820d26403cf5731c032811bd7390a36409f85a010474356399a242803396025ceb76725afeae1df95b30f2680daa2b00|

libheif-ffmpeg and ffmpeg-4 were replaced by

2024-07-10 11:42:05|install|libavutil59|7.0-2.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:06|install|libdovi3|3.2.0-1.3|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:07|install|libshaderc_shared1|2024.1-1.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:08|install|libvmaf3|3.0.0-2.2|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:10|install|libswscale8|7.0-2.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:11|install|libswresample5|7.0-2.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:12|install|libpostproc58|7.0-2.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:14|install|libplacebo349|7.349.0-1.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:15|install|libavcodec61|7.0-2.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:17|install|libavformat61|7.0-2.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:18|install|libavfilter10|7.0-2.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:19|install|libavdevice61|7.0-2.1|x86_64||download.opensuse.org-oss|
2024-07-10 11:42:21|install|ffmpeg-7|7.0-2.1|x86_64|root@kepler|download.opensuse.org-oss|

Acceptance criteria

  • AC1: No similar encoding issues on a clean Tumbleweed based installation of openQA
  • AC2: Clear feedback to users what needs to be done on older upgraded systems

Suggestions

  • Try to reproduce the problem on a clean Tumbleweed based installation
  • Ask the OP what they did The problem is likely due to the OP having an older version ffmpeg-4 installed on their Tumbleweed system and running os-autoinst. ffmpeg-7 works fine. In os-autoinst dist/spec/os-autoinst.spec we have Recommends: ffmpeg >= 4 . okurz suggests to check the git history why we added this version because then it surely worked with some version of ffmpeg-4. Then call git grep ffmpeg to see where ffmpeg is used. In backend/baseclass.pm we already parse the "banner" of ffmpeg to decide if certain features are available. Then adapt to prevent incompatible versions to be used.

Related issues 1 (0 open1 closed)

Related to openQA Project - action #129955: Second attempt to try out AV1 video codec as potential new default as of 2023 size:MResolvedmkittler

Actions
Actions #1

Updated by okurz 3 months ago

  • Tags set to reactive work
  • Category set to Regressions/Crashes
  • Target version set to Ready
  • Parent task set to #103938
Actions #2

Updated by okurz 3 months ago

  • Related to action #129955: Second attempt to try out AV1 video codec as potential new default as of 2023 size:M added
Actions #3

Updated by livdywan 3 months ago

  • Subject changed from Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters - incompatible ffmpeg to Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters - incompatible ffmpeg size:S
  • Description updated (diff)
  • Status changed from New to Workable
Actions #4

Updated by okurz 3 months ago

  • Subject changed from Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters - incompatible ffmpeg size:S to Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters - incompatible ffmpeg
  • Description updated (diff)
  • Status changed from Workable to New

Unfortunately the AC about o3/osd are not capturing the problem correctly as the problem report is about a Tumbleweed based installation with a more recent ffmpeg version. On o3+osd we have Leap so the problem does not apply there. The focus should be that on a current Tumbleweed installation no such problem arises or that older upgraded systems do not show this problem. Updated the ACs and removed the estimate to re-estimate.

Actions #6

Updated by robert.richardson 3 months ago

  • Subject changed from Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters - incompatible ffmpeg to https://progress.opensuse.org/issues/163601 Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters - incompatible ffmpeg size:S
  • Description updated (diff)
  • Status changed from New to Workable
Actions #7

Updated by jbaier_cz 3 months ago

  • Assignee set to jbaier_cz
Actions #8

Updated by jbaier_cz 2 months ago

  • Status changed from Workable to In Progress
Actions #9

Updated by jbaier_cz 2 months ago

I can reproduce this issue locally for TW:

podman run --rm -ti --device /dev/kvm -p 1080:80 -p 1443:443 --env OPENQA_SERVICE_PORT_DELTA=0 --name openqa opensuse/tumbleweed:latest bash -c 'zypper in -y ffmpeg-4 openQA-bootstrap; /usr/share/openqa/script/openqa-bootstrap'
podman exec -ti openqa openqa-clone-job --skip-deps https://openqa.opensuse.org/tests/4362951

The issue is not present in Leap 15.6 nor with ffmpeg-5 on Tumbleweed.

Actions #10

Updated by jbaier_cz 2 months ago

So the problem is actually the support for SVT-AV1 which is used if possible; ffmpeg-4 in TW is already compiled with a support for this library (which is not the case in Leap), but the "proper" support for setting constant bitrate (which we are using) is only there since ffmpeg 5.1

Source: https://trac.ffmpeg.org/wiki/Encode/AV1

Actions #11

Updated by jbaier_cz 2 months ago

I guess the easiest solution is to not use AV1 when ffmpeg-4 is detected: https://github.com/os-autoinst/os-autoinst/pull/2519

Actions #12

Updated by openqa_review 2 months ago

  • Due date set to 2024-08-13

Setting due date based on mean cycle time of SUSE QE Tools

Actions #13

Updated by jbaier_cz 2 months ago

  • Due date deleted (2024-08-13)
  • Status changed from In Progress to Resolved

Now if I rerun the reproducer, the job successfully completes as it selects a proper encoding options even with ffmpeg-4:

Launching external video encoder: ffmpeg -y -hide_banner -nostats -r 24 -f image2pipe -vcodec ppm -i - -pix_fmt yuv420p -c:v libvpx-vp9 -crf 35 -b:v 1500k -cpu-used 1 'video.webm'

To use a newer (and maybe better?) codecs, one still needs to upgrade to a newer ffmpeg, but that's optional now.

Actions #14

Updated by jbaier_cz 2 months ago

  • Subject changed from https://progress.opensuse.org/issues/163601 Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters - incompatible ffmpeg size:S to Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters - incompatible ffmpeg size:S
Actions

Also available in: Atom PDF