Wondering why are there not more tools supporting distributed encoding (video only; since for audio encoding the network and communication overhead is probably not worth the effort) I'm thinking of what is needed:
- a client<>server program which allows to transfer messages and files (using AllJoyn would be nice)
- a server which splits video by key frames (can be done through ffmpeg and its 'segment' option)
- sever then sends a part to each client for reencoding (together with the settings to use) and waits for the client to send back the reencoded part
- get a chunk and reencode it (using the settings the get with the file)
- send the rencoded chunk back to the server
- signal the server that they are ready to take another chunk
- one the server has all reencoded chunks it merges them should also be possible using mkvmerge for example
Problems I see:
a. vfr content
b. embedding subtitle
but leaving those two cases out, where else do you see problems?
I know there is RipBot264, but it's Windows only and from what I know it always splits after a fixed frame count.
Splitting at key frames or scene changes (more tricky but should also be possible; more complicated chunking, and sending start&end frames).
Ps.: Not sure whether I myself will implement this in Hybrid, write a separate tool or write a tool at all, just thought it might be a good thing to brainstrom about.
+ Reply to Thread
Results 1 to 5 of 5
Last edited by Selur; 7th Jan 2018 at 05:14.users currently on my ignore list: deadrats, Stears555
You are right, open gop would potentially create really large chunks,.. (not sure whether ffmpegs segment option would properly split for open gops,..)users currently on my ignore list: deadrats, Stears555
RipBot uses this "strange" AviSynth via Windows file sharing solution to avoid these troubles.
Maybe you can use -ss and include a few extra GOPs at the cut points for security so it works with 99.9% of streams.
Okay, as a fallback the server could reencode to a lossless format with closed gops, but that would increase network load and general processing quite a bit.
Another option would be to making sure that all clients can access the source through something like 'AVFS'.
a. stress the network connection to the server (bad)
b. would make it easier to handle subtitles and vfr (good)
c. would put all the decoding stress on the server (bad)
Both don't that good,...users currently on my ignore list: deadrats, Stears555