peertube-runner transcoding plugins #5051

Open
opened 2026-02-22 11:00:01 -05:00 by deekerman · 6 comments
Owner

Originally created by @Kepler-Br on GitHub (Jun 28, 2023).

Describe the problem to be solved

We have transcoding plugins on server side, but when I turn on remote runners, transcoding plugins are disabled.
It would be nice to have peertube-runner side transcoding plugins

Describe the solution you would like

  • Document the way we can modify peertube-runner to have a custom ffmpeg command running;
  • Add plugin support;
  • Form ffmpeg command on the server side and then send it to a peertube-runner to be executed (maybe the best solution?)

Will be eternally grateful if you add support for two pass transcoding on remote runners

Thank you!

Originally created by @Kepler-Br on GitHub (Jun 28, 2023). ### Describe the problem to be solved We have transcoding plugins on server side, but when I turn on remote runners, transcoding plugins are disabled. It would be nice to have peertube-runner side transcoding plugins ### Describe the solution you would like * Document the way we can modify peertube-runner to have a custom ffmpeg command running; * Add plugin support; * Form ffmpeg command on the server side and then send it to a peertube-runner to be executed (maybe the best solution?) Will be eternally grateful if you add support for two pass transcoding on remote runners Thank you!
Author
Owner

@vid-bin commented on GitHub (Jun 28, 2023):

I haven't gotten around to testing the runners yet but this would be a showstopper for me. My instance heavily uses the transcoding profile debug plugin.

@vid-bin commented on GitHub (Jun 28, 2023): I haven't gotten around to testing the runners yet but this would be a showstopper for me. My instance heavily uses the transcoding profile debug plugin.
Author
Owner

@normen commented on GitHub (Jul 16, 2023):

..and GPU support! But I suppose the big problem is that the profiles might have to be per-runner as they all might have different hardware setups? So I guess the base CPU profile is chosen for the best compatibility here?

Edit: Looks like the runner is just executing whatever "ffmpeg" it can find first. So you can just replace that with a script that does what you want.

@normen commented on GitHub (Jul 16, 2023): ..and GPU support! But I suppose the big problem is that the profiles might have to be per-runner as they all might have different hardware setups? So I guess the base CPU profile is chosen for the best compatibility here? Edit: Looks like the runner is just executing whatever "ffmpeg" it can find first. So you can just replace that with a script that does what you want.
Author
Owner

@Kepler-Br commented on GitHub (Jul 17, 2023):

..and GPU support! But I suppose the big problem is that the profiles might have to be per-runner as they all might have different hardware setups? So I guess the base CPU profile is chosen for the best compatibility here?

Edit: Looks like the runner is just executing whatever "ffmpeg" it can find first. So you can just replace that with a script that does what you want.

You're right. Replacing original ffmpeg executable with your own script sounds much simpler than implementing your own runner. Too bad I haven't thought about that earlier

@Kepler-Br commented on GitHub (Jul 17, 2023): > ..and GPU support! But I suppose the big problem is that the profiles might have to be per-runner as they all might have different hardware setups? So I guess the base CPU profile is chosen for the best compatibility here? > > Edit: Looks like the runner is just executing whatever "ffmpeg" it can find first. So you can just replace that with a script that does what you want. You're right. Replacing original ffmpeg executable with your own script sounds much simpler than implementing your own runner. Too bad I haven't thought about that earlier
Author
Owner

@Hoerli1337 commented on GitHub (Mar 10, 2024):

The possibility of giving the Runner the profiles would be really good.
So far it can only do x264. But I would really like to use AV1.

Is it currently possible to edit the codec in the runner itself?

@Hoerli1337 commented on GitHub (Mar 10, 2024): The possibility of giving the Runner the profiles would be really good. So far it can only do x264. But I would really like to use AV1. Is it currently possible to edit the codec in the runner itself?
Author
Owner

@Chocobozzz commented on GitHub (Mar 11, 2024):

Is it currently possible to edit the codec in the runner itself?

Sure, you can easily fork the runner or adapt ffmpeg command.

@Chocobozzz commented on GitHub (Mar 11, 2024): > Is it currently possible to edit the codec in the runner itself? Sure, you can easily fork the runner or adapt ffmpeg command.
Author
Owner

@ROBERT-MCDOWELL commented on GitHub (Oct 19, 2025):

so for now the only solution to add/modify ffmpeg command is to create a wrapper?

@ROBERT-MCDOWELL commented on GitHub (Oct 19, 2025): so for now the only solution to add/modify ffmpeg command is to create a wrapper?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/PeerTube#5051
No description provided.