Skip to content
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

Add transcoding to AV1 to default set #155

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

petterreinholdtsen
Copy link
Member

For this to work in production, a new fileformat 'av1' must be
added.

Fixes #127

@petterreinholdtsen petterreinholdtsen force-pushed the transcode-av1 branch 2 times, most recently from 2b9dbab to 0b21001 Compare January 19, 2019 21:02
@petterreinholdtsen
Copy link
Member Author

The travis test fail with "Unknown encoder 'libaom-av1'" because ffmpeg on the test machine is too old. I suspect the same is the case on the transcoding host, so we need to upgrade both before we put this change into production.

@odinho
Copy link
Member

odinho commented Jan 20, 2019

I also guess this will be slow as molasses.

Maybe add a special field to the Video that decides whether it should do this or not? Well, actually, we don't really have a lot of traffic, just NUUG and P7, so it can probably use a lot of time to churn on that. But this might be something we have to ax or throttle if we start getting more people running.

I've wanted to split move_and_process responsibilities to also have a batchprocess or another service that does such lower-priority things. Kinda like the off-time thingy you made, but it's own file, it's own service only doing that. That way, we can quickly get JPEG preview, and some metadata and leave all the rest to further processing. ogv vod stream would probably be the next thing that should run in mid-priority, and then broadcast, - and finally at batch priority any extras such as AV1.

But the nice thing is that we don't really have to do it, yet, since we're not seeing these problems yet. But it's good to have in the back of our minds so our designs doesn't shut the possibility out later.

@petterreinholdtsen
Copy link
Member Author

I guess the daemon should be able to run several transcoders in the background and in parallell, to avoid blocking completely while a slow transcoder is running. It would reduce the impact on horribly slow transcoders as the av1 one.

@odinho
Copy link
Member

odinho commented Jan 20, 2019 via email

@petterreinholdtsen
Copy link
Member Author

I suspect it is best to have one controller for all transcoding, to reduce the chance of overloading the machine with too many parallell processes. Perhaps it is better to extend the 'period' system(#159) to run background processes, and do av1 transcoding when there is little else to do?

@odinho
Copy link
Member

odinho commented Jan 21, 2019

Not overloading the machine is the kernel's job. :) We'll just have a niceness on all the processes. It shouldn't be a big problem to always have some jobs running - the scheduler of the OS will make sure important things gets done timely enough.

But it's possible to do it during idle as well. We'll just do whatever is simplest and iterate when we get to the point. 🤷‍♂️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants