I dont meant to discourage you, but it is possible to replace your entire repo with a simple bash alias:
alias ffmpeg-over-ip='ssh myserver "ffmpeg \"\$@\""'I dont meant to discourage you, but it is possible to replace your entire repo with a simple bash alias:
alias ffmpeg-over-ip='ssh myserver "ffmpeg \"\$@\""'If your usecase is solved by an alias, that's really good! I am glad you can use an alias. My usecase required a bit more so I wrote this utility and am sharing it with my peers
I looked over your source code and just saw a bash wrapper with webserver, so no significant IP. Any potential innovations: like possible distributed transcoding, sharding/partitioning transcoding pipeline to speed-up are missing.
its just a bash wrapper, thats why I commented about bash alias.
I don't mean to sound like a jerk, but I was honestly looking for some innovation about ffmpeg
There's no significant IP in this utility, it's something I wrote for a usecase and it works well for that usecase. I ran the server side on a windows machine, and I did not want to setup a full blown ssh server and expose it over the network for this usecase.
Another thing was logging. The way logging is currently setup really hits the sweet spot for debugability for me. Lastly it's the rewrites. I've used the config to rewrite incoming codecs to something the machine supports.
This is a purpose built utility that does one job and IMO does it fairly well. It's definitely not as complex as Dropbox but also not as simple as an ssh alias. I appreciate you sharing the alias code (not just the comment) so if some of our peers have usecases that could be solved by it, they are welcome to use that as well!
Can you expand on that?
as for bash-ssh solution, you don't need shared FS, if you don't need intermediate results. you can use SCP to get the final result after transcoding has finished. something like:
alias ffmpeg-over-ip='ssh myserver "ffmpeg \"\$@\" /tmp/output/"'
alias download-results='scp myserver:/tmp/output/*.* .'
ffmpeg-over-ip <args> && download-results
my meta point being is, before engineering something with programming language, and handrolling webservers, with auth, and workers - just try to implement your system with bash scripts.Martin Klepmann created an entire database using just bash aliases in his book "Designing Data Intensive Applications"
ffmpeg -f webm -i tcp://[::]:55601?listen -c copy -f webm tcp://[::]:55602?listen
There's also UDP, SFTP, and more convenient protocols such as SRT or the long-in-the-tooth RTMP. I expect it will eventually add WHIP/WHEP as well.