Adds support for hardware-accelerated video encoding#30
Adds support for hardware-accelerated video encoding#30timothybasanov wants to merge 1 commit intogozoinks:masterfrom
Conversation
|
I intentionally did not update README, this is a beta feature and I want advanced users to try it first. Not sure how testing is done for this GitHub repo. Hope you can guide me. |
To enable hardware-accelerated video encoding add a new config option: `"vaapiDevice": "/dev/dri/renderD128"` (Intel CPU example). This would pass a new set of options to ffmpeg: `-hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128` and it would replace `-c:v libx264 -vf scale=1280:720 -threads 0` with `-c:v h264_vaapi -vf format=nv12|vaapi,hwupload,scale_vaapi=w=720:h=480 -profile:v 578 -bf 0` Verified to work on Synology NAS DS718+ within Docker environment. More details https://timothybasanov.com/2018/12/08/hardware-accelerated-h264-encoding-synology-nas.html Gotchas: One needs to correctly pass devs into docker and give access to a Homebridge's user. Additional changes: - Support for audio encoding - Better logging integration with Homebridge - Logs from ffmpeg in Homebridge's logs
8773912 to
f747008
Compare
|
I’m interested in this. I wish we didn’t have to know in advance what device provides DRM for vaapi. I don’t know much about probing for hardware acceleration capabilities. Is there a way to have ffmpeg do the right thing on any system, or are we going to be dependent on configuration, or what? |
|
Nice! I just about to buy a DS718+. A factor for that model was the possiblity of using hardware acceleration for |
|
Would be nice to see this merged. I'd also suggest being able to define scale_vaapi. |
|
How about committing to the original repo instead of this forked one? So hardware encoding can be used on a Synology for any camera. |
|
Hi everybody, any updates about this useful functionality? Any idea when Homebridge will support the hardware encoding for the cameras? Thank you! |
|
Hey, I've originally created this PR. I would not be able to update this PR anymore. |
To enable hardware-accelerated video encoding add a new config option:
"vaapiDevice": "/dev/dri/renderD128"(Intel CPU example).This would pass a new set of options to ffmpeg:
-hwaccel vaapi -hwaccel_output_format vaapi -vaapi_device /dev/dri/renderD128and it would replace
-c:v libx264 -vf scale=1280:720 -threads 0 -tune zerolatencywith
-c:v h264_vaapi -vf format=nv12|vaapi,hwupload,scale_vaapi=w=720:h=480 -threads 1Verified to work on Synology NAS DS718+ within Docker environment.
More details https://timothybasanov.com/2018/12/08/hardware-accelerated-h264-encoding-synology-nas.html
Gotchas: One needs to correctly pass devs into docker and give
access to a Homebridge's user.
Additional changes: