elan-ev / opencast-bigbluebutton-integration

Contains documentation for sending recordings form bigbluebutton to opencast
GNU Lesser General Public License v3.0
22 stars 16 forks source link

Encoder error in Opencast due to #17 #35

Closed Arnei closed 2 years ago

Arnei commented 3 years ago

Pull Request #17 assumed that Opencast would be able to handle screenshare videos with uneven resolutions. In Opencast 10 this is not the case (if it ever was to begin with). Instead, ingesting screenshare videos with uneven resolution leads to the error below.

2021-07-14 15:44:49,926 | WARN  | (EncoderEngine:244) - Error while encoding {video=/home/arnewilken/IdeaProjects/opencast10/build/opencast-dist-develop-10-SNAPSHOT/data/opencast/workspace/http_localhost_8080/assets/assets/22f9df11-daa7-4ed1-a9b5-f427ba9da7be/d02c2fb9-5add-40b9-a5eb-f6162be20ff4/3/24488_1626261624307.webm}  using profile 'editor.work'
org.opencastproject.composer.api.EncoderException: Encoder exited abnormally with status 1
2021-07-14 15:44:49,935 | ERROR | (AbstractJobProducer$JobRunner:343) - Error handling operation 'Encode':
org.opencastproject.serviceregistry.api.ServiceRegistryException: Error handling operation 'Encode'

Should we revert #17 until this is fixed in Opencast? Technically it can already be fixed by adapting the encoding profile used for preencoding in the partial-import step in Opencast, but that might be hard for users unfamiliar with ffmpeg.

Arnei commented 3 years ago

E.g. one way to fix this in Opencast is to change

profile.editor.work.ffmpeg.command = -i #{in.video.path} -filter:v fps=25 -shortest -c:v libx264 -preset superfast -pix_fmt yuv420p -crf 18 -c:a aac -strict -2 -b:a 196k #{out.dir}/#{out.name}#{out.suffix}

to

profile.editor.work.ffmpeg.command = -i #{in.video.path} -filter:v 'crop=trunc(iw/2)*2:trunc(ih/2)*2,fps=25' -shortest -c:v libx264 -preset superfast -pix_fmt yuv420p -crf 18 -c:a aac -strict -2 -b:a 196k #{out.dir}/#{out.name}#{out.suffix}

in etc/encoding/opencast-movies.

lkiesow commented 3 years ago

+1 for pushing that configuration update to Opencast. No need to work around this in here. Though I don't think there is any need for -shortest or turning on experimental features:

profile.editor.work.ffmpeg.command = -i #{in.video.path} \
    -filter:v crop=trunc(iw/2)*2:trunc(ih/2)*2,fps=25 \
    -c:v libx264 -preset superfast -pix_fmt yuv420p -crf 18 \
    -c:a aac -b:a 196k \
    #{out.dir}/#{out.name}#{out.suffix} 
Arnei commented 3 years ago

In that case, let's move the discussion over to Opencast. PR here: https://github.com/opencast/opencast/pull/2833

Arnei commented 2 years ago

Has been merged into Opencast, closing