Currently the staging process only accepts one video and set of timestamps. This isn't ideal, as sometimes videos can get chopped up and maybe you need to cut out specific parts. The new stages should have basically all the info they currently have, except for the slices (video path, timestamps, etc). This should be put into a list of objects, each with a path, set of timestamps, and each will be in the order that they should appear in. This can be initiated by calling vodbot stage new [each video id in order]. VodBot will ask the initial questions of title and description, then ask about slices of each and what timestamps you'd like to use. If you want a part cut out of a specific Vod, you can just enter in the Vod ID twice, and select the timestamps around where the cut out part should be. Once done, VodBot will use the concat demuxer method with ffmpeg by generating a list of all the files, and running the command and outputting to the temp directory. Clean up round one begins and cleans up all the slices, then VodBot exports or uploads the video, then cleans up the list and everything else.
In addition, the stage ID system is not great, its long and difficult and requires cryptography because it was initially based off of the way git calculates hashes. A similar thing can be achieved by simply randomly generating a 4 character string with the alphabet of it being 0-9 and a-z. The string should be random enough and the lifetime of stage files short enough that collisions should be rare but the implementations can just run a while loop of generation until a non-colliding name is found. Otherwise there should probably be an error with your filesystem long before VodBot can generate that many files in one directory.
Currently the staging process only accepts one video and set of timestamps. This isn't ideal, as sometimes videos can get chopped up and maybe you need to cut out specific parts. The new stages should have basically all the info they currently have, except for the slices (video path, timestamps, etc). This should be put into a list of objects, each with a path, set of timestamps, and each will be in the order that they should appear in. This can be initiated by calling
vodbot stage new [each video id in order]
. VodBot will ask the initial questions of title and description, then ask about slices of each and what timestamps you'd like to use. If you want a part cut out of a specific Vod, you can just enter in the Vod ID twice, and select the timestamps around where the cut out part should be. Once done, VodBot will use the concat demuxer method with ffmpeg by generating a list of all the files, and running the command and outputting to the temp directory. Clean up round one begins and cleans up all the slices, then VodBot exports or uploads the video, then cleans up the list and everything else.In addition, the stage ID system is not great, its long and difficult and requires cryptography because it was initially based off of the way git calculates hashes. A similar thing can be achieved by simply randomly generating a 4 character string with the alphabet of it being 0-9 and a-z. The string should be random enough and the lifetime of stage files short enough that collisions should be rare but the implementations can just run a while loop of generation until a non-colliding name is found. Otherwise there should probably be an error with your filesystem long before VodBot can generate that many files in one directory.