OpenVisualCloud / SVT-VP9

SVT VP9 encoder. Scalable Video Technology (SVT) is a software-based video coding technology that is highly optimized for Intel® Xeon® processors. Using the open source SVT-VP9 encoder, it is possible to spread video encoding processing across multiple Intel® Xeon® processors to achieve a real advantage of processing efficiency.
Other
222 stars 48 forks source link

ABR without FFMPG #30

Open japettyjohn opened 5 years ago

japettyjohn commented 5 years ago

I'm trying to do ABR with MPEGDASH using SVT-VP9 and normally I'd be using FFMPEG with 2-pass but the encoder I'm using is Windows based and the FFMPEG plugin is not done for windows.

Are there particular settings I should use so I can get usable output for use with ABR?

tianjunwork commented 5 years ago

Hi @jsunintel, could provide instruction to use FFMPEG plugin on Windows for svt vp9?

colleenkhenry commented 5 years ago

@japettyjohn I'm not sure that the FFMPEG plugin works for any platform, to be clear :).

japettyjohn commented 5 years ago

@colleenkhenry That makes sense given even the dockers files explicitly omit SVT-VP9 (even though they might indicate otherwise).

FFMPEG is not a requirement - but 2-pass for ABR and thus MPEG-DASH is what I'm trying to handle.

colleenkhenry commented 5 years ago

Maybe try using bounded bitrate constant quality for now?

On Mon, May 27, 2019, 5:06 PM James Pettyjohn notifications@github.com wrote:

@colleenkhenry https://github.com/colleenkhenry That makes sense given even the dockers files explicitly omit SVT-VP9 (even though they might indicate otherwise).

FFMPEG is not a requirement - but 2-pass for ABR and thus MPEG-DASH is what I'm trying to handle.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/OpenVisualCloud/SVT-VP9/issues/30?email_source=notifications&email_token=AATVS2KTN4QD653QUV4SNJLPXRZO5A5CNFSM4HMSMHCKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWKUZGA#issuecomment-496323736, or mute the thread https://github.com/notifications/unsubscribe-auth/AATVS2KZCTBQIEIMWQIIJ7LPXRZO5ANCNFSM4HMSMHCA .

bentotom commented 4 years ago

@japettyjohn I might be wrong here, but IIRC DASH is a live streaming format and processes video in realtime. 2 pass encoding is generally for vod and archival where a size limit is important.

Do you have a use case for 2pass+dash?

japettyjohn commented 4 years ago

DASH is also used for VOD in order to achieve ABR.

bentotom commented 4 years ago

And you're doing 2 pass video->Dash on FFMPEG right now?

japettyjohn commented 4 years ago

I just reviewed this and some months ago dropped the VBR 2 pass approach for CRF which does not need 2 pass. I am doing this with FFMPEG and then producing the DASH output using the Shaka packager.

bentotom commented 4 years ago

2 pass is a process where the system approximates all the information and stores the compressability, motion and other parts of the video into a log during the first pass. During the second pass, it actually encodes the video. If you're not familiar with the process, I would suggest you look into it.

For streaming video this is usually not ideal since the user would need to wait for the 1st pass before even getting to see the first frame of the video. Again, I've never seen anyone use 2 for streaming, http, udp, rtmp, dash (both technically http), or otherwise.