Shared ffmpeg normalization logic, ffmpeg docker images #294
Replies: 7 comments
-
This is a really cool idea and I am definitely interested in exploring how we can collaborate. Untangling the FFMPEG code is near the top of my list, once we get a semi-stable release out the door (hopefully before EOW) with all parity features implemented. I have limited FFMPEG experience, so this has already been a great learning experience -- your work there is super admirable! And re: the docker images, it would be really cool to be able to reuse those as well. So far, I've only lightly messed around with an Nvidia image, just to see some complexities there. Maintaining a common set of base images would be fantastic. |
Beta Was this translation helpful? Give feedback.
-
That's great to hear! Are you hoping to have docker images for the release, or just executables at this point? |
Beta Was this translation helpful? Give feedback.
-
I'm hoping to have both. I have both the binaries and containers (just vanilla and nvidia containers at the moment) building already. We're publishing edge build containers hourly, hoping to hook up the same for binaries soon too. We're pretty close to a stable alpha release soon, so I should have more free time to shore up the ops side of things with releases, etc. |
Beta Was this translation helpful? Give feedback.
-
Ok, I've been testing the docker builds a little and have noticed some bugs - some that I can fix and some that I can't. Just didn't want to bug with docker stuff if it wasn't planned. I can probably PR one and report the other bug? |
Beta Was this translation helpful? Give feedback.
-
Totally! Please feel free to file bugs / PRs. |
Beta Was this translation helpful? Give feedback.
-
We're still very much in a "cowboy" phase here...moving quickly. Really happy to hear you've been messing around with it! |
Beta Was this translation helpful? Give feedback.
-
Our images are now based on the ETV FFMPEG images. Thanks Jason! |
Beta Was this translation helpful? Give feedback.
-
While there are obviously significant differences in UI and scheduling paradigms between our projects, ErsatzTV and tunarr, and their predecessors pseudotv and dizquetv, they all have a major common goal of taking a bunch of varied source content and turning it into a single continuous "live" TV channel.
FFmpeg Normalization Logic
I started ETV with zero ffmpeg experience and essentially the same DTV ffmpeg code that was forked here. I have spent the past three years learning everything I can about codecs, filters, hardware acceleration, etc, and have continuously improved upon/evolved the normalization logic.
I would be open to collaborating on a new component (library or executable) here that would fit into the pipeline of both projects. There are a number of different ways that this could be accomplished, and I'm happy to brainstorm if there's interest. I can also go into a lot more detail on ETV's unique normalization improvements and features.
FFmpeg Docker Images
In addition, I maintain custom FFmpeg builds across various docker targets (
arm32v7
,arm64
,nvidia
,vaapi
[qsv
]) at https://github.com/ErsatzTV/ErsatzTV-ffmpeg. It also includes fixes for bugs that I have found, like https://trac.ffmpeg.org/ticket/10668.It would be easy enough to remove the dotnet runtime from the ETV ffmpeg images since tunarr doesn't use that, then the shared focus could be on ffmpeg itself.
Are you open to sharing either or both of these components between our projects?
Beta Was this translation helpful? Give feedback.
All reactions