Yesterday, 06:34
When the input source is an image sequence, and the chosen start frame number is not 1, Hybrid crashes when encoding begins with an error that the last frame is beyond the end of the sequence. This is applicable to encoding using the Vapoursynth library.
Reproduction:
1) Set hybrid to image sequence mode on the base tab.
2) click the folder icon for the input, and navigate the filesystem to find your sequence.
3) In the popup dialog, select the first and last frames of the sequence. for this test, make sure the first frame is numbered 1. Accept the settings.
4) Begin encoding with your choice of filter settings.
Notice encoding works normally.
5) Reselect the start and end frames of the input image sequence. Set the start frame number to something greater than 1. Choose any end frame number.
6) Encode.
Notice Hybrid crashes with an error message that the end frame is beyond the end of the sequence.
7) On the "Jobs" tab, export the encoding settings to a vapoursynth script.
8) Open the script in a text editor, then navigate to the line where the clip start/end range is defined. It should look something like this:
Notice the 'length' parameter is set to the last frame of the input image sequence. This is the bug. It should be set to the difference between first and last frame chosen by the user. If the first frame is 1, then the last frame will be equivalent to the number of images found. But if the first frame is greater than 1, the read of the input sequence will go beyond the specified end frame and produce the error.
solution: set the 'length' parameter of the trim operation to be the difference between the start and end frames. (ex: end_frame - start_frame + 1)
Reproduction:
1) Set hybrid to image sequence mode on the base tab.
2) click the folder icon for the input, and navigate the filesystem to find your sequence.
3) In the popup dialog, select the first and last frames of the sequence. for this test, make sure the first frame is numbered 1. Accept the settings.
4) Begin encoding with your choice of filter settings.
Notice encoding works normally.
5) Reselect the start and end frames of the input image sequence. Set the start frame number to something greater than 1. Choose any end frame number.
6) Encode.
Notice Hybrid crashes with an error message that the end frame is beyond the end of the sequence.
7) On the "Jobs" tab, export the encoding settings to a vapoursynth script.
8) Open the script in a text editor, then navigate to the line where the clip start/end range is defined. It should look something like this:
Code:
clip = core.std.Trim(clip=clip, length=8781)
Notice the 'length' parameter is set to the last frame of the input image sequence. This is the bug. It should be set to the difference between first and last frame chosen by the user. If the first frame is 1, then the last frame will be equivalent to the number of images found. But if the first frame is greater than 1, the read of the input sequence will go beyond the specified end frame and produce the error.
solution: set the 'length' parameter of the trim operation to be the difference between the start and end frames. (ex: end_frame - start_frame + 1)