nextcloud / nextcloud/nextcloud-talk-recording
Migration to H264/MP4 for Hardware Acceleration
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 34
- Forks
- 16
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 4
Description
Hello!
I hope all's well on your end.
I have tried adjusting ffmpeg parameters in recording.conf to faciliate this but recording fails upon starting with the recorder object ending unexpectedly.
It's to my understanding that there might be a reason as to why a WebM/VP8 implementation was adopted in favor over H264/MP4, perhaps due to the virtual display libraries used? I'm not too sure on this myself honestly.
Is it possible to migrate from WebM/VP8 to a more traditional H264/MP4 format? I am keen on doing just that for better hardware acceleration support much like with Jellyfin and Frigate.
I am making do right now running the recording server on another device with the following ffmpeg config below, limiting CPU usage to 4 threads as to not max out processor usage.
[ffmpeg]
common = ffmpeg -loglevel level+warning -n -hwaccel vaapi -hwaccel_output_format vaapi
# outputaudio = -c:a libopus
outputvideo = -c:v libvpx -deadline:v realtime -crf 10 -b:v 1M -threads 4
extensionaudio = .ogg
extensionvideo = .webm
Server Specifications
- S1 (Running Nextcloud AIO)
- CPU: Intel i5-10210U (8) @ 4.200GHz
- GPU: Intel CometLake-U GT2 [UHD Graphics]
- Memory: 64GB
- S2 (Recording server offloaded here)
- CPU: AMD Ryzen 3 PRO 5350GE with Radeon Graphics (8) @ 3.600GHz
- GPU: AMD ATI Radeon Vega Series / Radeon Vega Mobile Series
- Memory: 64GB
Thank you for looking into this! Would appreciate any leads if any are possible.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing recording.conf and the supplied ffmpeg configuration, then trace how the recorder object starts and exits unexpectedly. Reproduce the failure with the proposed H264/MP4 settings and determine the scope needed for hardware-accelerated output; done means a documented, working migration or a clear compatibility limitation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- audio-video-rtc, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100