-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds support for hardware-accelerated video encoding #30
base: master
Are you sure you want to change the base?
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/renderD128
and it would replace
-c:v libx264 -vf scale=1280:720 -threads 0 -tune zerolatency
with
-c:v h264_vaapi -vf format=nv12|vaapi,hwupload,scale_vaapi=w=720:h=480 -threads 1
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: