CvH 14 Posted November 29, 2017 Posted November 29, 2017 (edited) Hi, is it possible to add VP9 transcoding ? As VP9 is supported at every major browser (unliklely HEVC) it would be nice to be able to use VP9 for streaming (as VP9 is basically the "same" as HEVC compression wise). FFmpeg supports it and Intel >= KabyLake supports HW accelerated transcoding for VP9. HW accelerated decoding starts with Apollo Lake ( https://wiki.libav.org/Hardware/vaapi ). For encoding there is not too much to add besides ffmpeg -i input.mp4 -c:v libvpx-vp9 ... ( https://trac.ffmpeg.org/wiki/Encode/VP9 ) best regards Edited November 29, 2017 by CvH 1
CvH 14 Posted November 29, 2017 Author Posted November 29, 2017 It is slower then x264 obviously, but not as slow as x265 (roughly 1,5x speed of x265). The main benefit are the bitrate savings roughly as if you compare x264 vs x265 and that is actually works at the browser. Roughly same quality at 50% of the bitrate - if you use it out of home/wlan this means a lot. Upload speed is a bottleneck for a lot ppl. As CPU transcoding is rather pointless, regardless of codec, you need an compatible GPU/CPU that supports it. As Kaby Lake (2016) onward supports it you can encode at least a single FullHD Stream at an low end J3455 in real time (CPU no way, even for x264 at ultrafast). Nvidia and AMD supports it too at the current generations. Even if you can just use CPU encoding due lack of HW encoding (older CPU, outdated os ..., docker ) VP9 is pretty fast at SD resolutions (only ~20% slower then x264). At FHD the difference is quite bigger (2-3x of time in comparison to x264). Till AV1 + HW is "released" there is likely no alternative if you want to support an current generation codec. 3
CvH 14 Posted July 23, 2018 Author Posted July 23, 2018 Any news on this? Software side it is everywhere supported (Browsers, FFmpeg, drivers ...), GPU encoding side it is supported since 2016 lowend HW and even at Synology (with J3455+) it is supported. Its basically just the Emby commandline bits that are missing (yea I know not that trivial ) and we could use a much better Codec compared to H264 at the browser. Saving around 50% bandwidth "for free" isn't a negligible benefit.
sualfred 677 Posted July 23, 2018 Posted July 23, 2018 Never noticed that VP9 is missing -> +1 @@Luke Any special reason why it hasn't been added yet?
runtimesandbox 156 Posted July 23, 2018 Posted July 23, 2018 It would be cool to have this as an advanced option under transcoding settings, I'm happy to use spare CPU cycles for this (or even get a gpu at some point) if it means a decrease in upload bandwidth. Upload bandwidth is definitely a big issue for many people. 1
CvH 14 Posted July 23, 2018 Author Posted July 23, 2018 I'm happy to use spare CPU cycles for this like said every Intel (and likely AMD too) >=2016 supports encoding of VP9 via GPU so it just behaves like H264/HEVC but is playable at the browser (unlikely HEVC)
Luke 38804 Posted July 23, 2018 Posted July 23, 2018 It's not so simple as changing the codec. The entire transcoding format will probably have to be changed and that means that everything will need re-evaluation.
CvH 14 Posted July 23, 2018 Author Posted July 23, 2018 It's not so simple as changing the codec. The entire transcoding format will probably have to be changed and that means that everything will need re-evaluation. not sure how you doing it, but afaik you pass it via cli to ffmpeg and then take it to repack it to stream it to the browser -I have no idea how emby does it internally- but if you would just use ffmpeg you just need to switch to -c:v libvpx-vp9 the incoming file is the same, the outgoing file is also the same format/container - as the browser speaks h264 and vp8+vp9 it should not create bigger problems likewise you need to build ffmpeg with activated vp9 encoding setting (if not done already)
Luke 38804 Posted July 23, 2018 Posted July 23, 2018 We would also have to switch the container format, at least for some devices. And that would end up cascading into more required changes.
CvH 14 Posted July 23, 2018 Author Posted July 23, 2018 We would also have to switch the container format, at least for some devices. And that would end up cascading into more required changes. what if you make it just available at the browser ? btw mp4, webm and mkv speak vp9 - do you use something else for various devices ? 1
accarshop 1 Posted August 30, 2018 Posted August 30, 2018 (edited) Removing my prior comments. I can play VP9 videos now. Had a routing issue. Beginning to really like Emby. Thanks! Edited August 30, 2018 by accarshop
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now