action #163601
closedcoordination #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
0%
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 didThe 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 haveRecommends: 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 callgit 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.
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
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
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.
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
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.
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
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
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
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.
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