nextcloud / nextcloud/nextcloud-talk-recording

Improve recording quality by merging and converting the recoding subsequently (not live)

Open
#80 2 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
34
Forks
16
Avg merge
5d 5h
Merged PRs (30d)
4

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Feature request

Which Nextcloud Version are you currently using: (see administration page)

Nextcloud 32.0.6 (Nextcloud AIO 12.7.0)

Is your feature request related to a problem? Please describe.

When you record a talk meeting the nextcloud-recording-server is currently only able to record the video by merging and reencoding the incomping video streams live. This results in a very high CPU usage and a usually low video quality.

Describe the solution you'd like

Instead of merging and reencoding the input video streams via ffmpeg live it would be also possible to just record the input video streams (e.g. using ffmpeg stream copy mode for video and audio) and merge and reencode the merge result with ffmpeg after the recording. This would allow us to get a video quality of the merged recording. It would even allow us to set a specific video quality instead. On the other hand the recording process would of course take longer. So it would be nice to have a swith in the administration settings to enable either live encoding or subsequent encoding, ideally with an integer input field for the video quality of the recording.

Describe alternatives you've considered

Alternatively the quality could be hardcoded in the first place.

Additional context

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the nextcloud-recording-server recording pipeline and its ffmpeg invocation. Determine how input streams are currently merged and reencoded live, then assess the administration settings entry point for selecting live or subsequent encoding and a video-quality value. Done means recordings can use the requested post-processing path while preserving the existing live option.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
audio-video-rtc, backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.