bigbluebutton-Github/record-and-playback
Calvin Walton 4127f4ccc7 Recording: Pre-process video files using separate ffmpeg
Even with the filter changes made, there's still some cases where
filter chain hangs can result from filter reconfigurations. To solve the
issue completely, I have split out pre-processing video files to
separate ffmpeg processes, so that the filter chain for compositing will
not ever be reconfigured.

Each input video now has a separate ffmpeg process run for it which
does the scaling, padding, and video extending steps. To avoid issues
with disk space usage and extra cpu usage or quality loss, the output
from these separate processes is sent to the compositing ffmpeg process
as uncompressed video in a pipe. To simplify the setup, named pipes
(special files) are used rather than setting up pipes in the ruby code
programmatically.

The extra ffmpeg processes are configured to log to files, and when
complete their log output is copied to the recording processing log.
Processes are joined to ensure zombie processes are not created, and
the return codes of all the processes are checked so errors can be
detected.

Due to the overhead of transferring video through pipes, this might
be a bit slower than the 2.4 recording processing - but on the other
hand, some of the video decoding and scaling happens in parallel, so it
might balance out.
2022-12-05 11:55:59 -05:00
..
core Recording: Pre-process video files using separate ffmpeg 2022-12-05 11:55:59 -05:00
notes/scripts refactor(record-and-playback): replace trollop by optimist 2021-11-23 23:59:59 -03:00
podcast/scripts refactor(record-and-playback): replace trollop by optimist 2021-11-23 23:59:59 -03:00
presentation [issue-15439] - fix typo in presentation scripts 2022-07-27 10:24:07 -03:00
screenshare [issue-9789] - Changes in review. 2022-05-02 09:42:00 -03:00
slides Delete the 'slides' processing scripts 2014-11-13 11:15:43 -02:00
.rubocop.yml Style changes; enable NewCops in Rubocop 2022-01-20 13:57:53 +01:00
changelog.md a log file by meeting in archive phase 2013-04-29 16:03:21 -05:00
deploy.sh Removed comments. 2022-02-17 08:24:37 -03:00
pyproject.toml presentation recording: generate poll svg images without gnuplot 2020-01-13 14:34:30 -05:00