Project

General

Profile

Actions

action #67342

closed

coordination #64746: [saga][epic] Scale up: Efficient handling of large storage to be able to run current tests efficiently but keep big archives of old results

Support using a "generic" video encoder like ffmpeg instead of only relying on the one provided by os-autoinst itself

Added by mkittler over 4 years ago. Updated over 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
-
Start date:
2020-05-27
Due date:
% Done:

0%

Estimated time:

Description

This ticket is a concrete idea to improve the general storage situation by storing the video more efficiently:

  • The main benefit of using e.g. ffmpeg would be that we could easily switch the format as new formats are developed. We could also easily tweak parameters e.g. for slow workers or to utilize possibly available hardware encoding capabilities.
  • Additionally, we would not need to invest effort into making our custom video encoder more efficient and fix its unresolved bugs. (It is not very efficient compared to e.g. VP9. It produces keyframes which are not marked correctly.)

acceptance criteria

AC1: The video encoder to be invoked can be configured (including the CLI parameters).
AC2: The format of the raw video passed to the video encoder (via a pipe) should be something most encoders can work with and should be documented.
AC3: Provide documentation including examples e.g. for using ffmpeg.
AC4: The custom video encoder still works as this is likely not hard to achieve and gives us room for experimentation with the new approach.
AC5: So far the name of the video file is hard-coded at several places within os-autoinst/openQA. It should at least be possible to allow different extensions because we don't want to be stuck with the Ogg container or use an incorrect extension.

suggestions

  • Find out which formats are usually supported as input by video encoding tools such as ffmpeg and x264. Likely the video encoder provided by os-autoinst itself already consumes some common raw video format so we wouldn't have to adapt much.
  • Find out at which level the video encoder should be configurable for AC1.
    • We could simply introduce yet another variable which would then likely be set within the worker config.
    • We could use a placeholder for the position in the command where the output file goes. However, it likely makes sense to leave the file extension configurable.

Related issues 2 (0 open2 closed)

Related to openQA Infrastructure (public) - coordination #68923: [epic] Use external videoencoder in production auto_review:"External encoder not accepting data"Resolvedokurz2020-11-13

Actions
Related to openQA Project (public) - action #70873: Test fails because auto_review:"Encoder not accepting data":retry, video is missingResolvedokurz2020-09-022020-11-14

Actions
Actions

Also available in: Atom PDF