Selur's Little Message Board

Full Version: Cannot double frame rate a video due to “.264 too small” crash
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello,
I would like to report a problem. It is hard to explain, but I will try my best to simplify it. I apologise in advance for my bad English.

– OS: Microsoft Windows 10 Pro 64-bit version 1903 Insiders (unactivated)
– Hybrid version 2019.11.30.1 (as the window says, but I did download the latest version: 2019.12.01.1)
– Error message:
Code:
Aborting '19_12_56_5810_04_video' due to: ERROR: C:\Users\asus\AppData\Local\Temp\melodyres.264 is too small! (byteSize: 0byte)

Problem explanation (as best as I can):
Some videos can be frame-doubled, some cannot.
For this, I imported a ZIP file in which there are two folders: a folder that has a camera recording that is successfully converted from 29.97fps to 59.94fps and a folder that is not converted from 25.032fps to 50.064fps.

In the first video, camera recording, “test” (original file) has successfully been converted to “out” (result).
For this, the video processing was set to ×264, data rate was doubled, encoding level profile was set on 3.2, Avisynth was set to double the frame rate through FPS Ajust: Interframe > Tuning: smooth + target frame rate: (double) + override algorithm: smooth.
The process was successfully done as you see in ZIP archive attached to this thread.

However, in the second video that I downloaded from YouTube (sadly not mine), same resolution, I did the same process (except for profile, which was on 4.1, but I don’t think this is a problem) but it referred me to the error message that you could see above. The target output was named “melodyres.mp4”, but it crashed. I have no idea for the reason, so I went to the temporary files folder and deleted that, an mbtree.temp file and a temp file because I do not think they are useful after the crash.

I did a reset to Hybrid, tried to reinstall it then tried again but this time by naming the same YouTube-sourced video’s output target as “testing”. What happened? Hybrid created “melodyres.264” instead of “testing.264” and showed me the same error.

After that, I came back to the camera recording and I tried to double the frame rate again and I used a random output target name (for example “yup”), but Hybrid created “melodyres.264” again instead of “yup.264” and showed me the same error again.

Would you mind helping me on this, please?
A ZIP file is attached.
Looking forward your response.
Thank you very much for considering in this thread.
Looking at the DebugOutput in the 'Camera Test'-folder I spot multiple errors:
  1. Code:
    2019.11.16 - 20:07:47_Windows 10 (10.0) (64bit)_2019.11.03.1 - level 4: 20_07_34_7110_05_video ### D:\asus\Videos\Test with AviSynth.mp4 ### ERROR: C:\Users\asus\AppData\Local\Temp\Test with AviSynth.264 is too small! (byteSize: 0byte)
  2. Code:
    2019.11.16 - 20:10:11_Windows 10 (10.0) (64bit)_2019.11.03.1 - level 4: 20_07_34_7110_05_video ### D:\asus\Videos\Test with AviSynth.mp4 ### ERROR: C:\Users\asus\AppData\Local\Temp\Test with AviSynth.264 is too small! (byteSize: 0byte)
  3. Code:
    2019.11.16 - 20:11:21_Windows 10 (10.0) (64bit)_2019.11.03.1 - level 4: 20_10_06_8310_05_video ### D:\asus\Videos\Test with AviSynth.mp4 ### ERROR: C:\Users\asus\AppData\Local\Temp\Test with AviSynth.264 is too small! (byteSize: 0byte)
but since all of them were created with an old version I won't look at them.
Not sure what you did there, but there are a bunch of things in the log which look wrong. For example that the Avisynth script creates interlaced output, the input is vfr and the x264 encoding call doesn't encode to interlaced.
If you clear you job queue and create a new debug output (level 9) with the current version of Hybrid where the problem occurs and you write a step by step which settings you used I can look into it.

Looking at the DebugOutput in the 'youTube-sourced Test'-folder I see the following:
Code:
2019.12.29 - 19:36:37_Windows 10 (10.0) (64bit)_2019.11.30.1 - level 4: 19_12_56_5810_04_video ### D:\asus\Videos\melodyres.mp4 ### ERROR: C:\Users\asus\AppData\Local\Temp\melodyres.264 is too small! (byteSize: 0byte)
This happens since the Avisynth script contains non-ASCII-characters:
Code:
FFVideoSource("D:\asus\Videos\فواصل قنوات ميلودي دراما Melody Drama promotion.mp4",cachefile="C:\Users\asus\AppData\Local\Temp\19_41_00_5610.ffindex",colorspace="YV12")
which Avisynth can't handle. To avoid this Hybrid asks Windows for a short '8.3 filename', but your Windows does not return a short file name.
Seems like '8dot3' is not supported on your drive, since it's usually enabled by default you must have disabled it.
When I use your 'فواصل قنوات ميلودي دراما Melody Drama promotion.mp4'-file on a system where '8.3 file names are supported the Avisynth line would look like:
Code:
FFVideoSource("C:\Users\Selur\Desktop\YOUTUB~1\MELODY~1.MP4",cachefile="E:\Temp\mp4_2858c3b230252d4cf9cc957e61775c9a_853323747_1_0.ffindex",colorspace="YV12")
Note that the file and folder names are shortened. Wink
-> either:
  • Rename your input file, so that it has no non-ASCII-characters, or
  • enable the 8.3 filename again for your drive, or
  • use Vapoursynth. Vapoursynth supports Interframe and UFT-8 file names. <- This would be my recommendation unless Avisynth is needed because of some filter that isn't available in Vapoursynth.

Cu Selur

Ps.: I'll also send you a link to my current dev version via PM (in a few minutes) so you can use that version in your tests.
Thank you very much for your response.
I encoutered no errors with “Camera Test” folder’s output video.
I did not interlace the video, but doubled the frame rate. (It is good to mention that I do interlace few videos using Hybrid.)
However, I will include the link to download the ZIP file in which you find the folder and the debug output level 9 is.


What I did in the output of the camera test folder:
0. I cleared job queue as you told me then I imported “test.mp4” to double frame rate.
1. Base tab:
a) I put video on ×264.
b) I put audio on “passthrough all”.
c) I doubled the bitrate of “test” depending on the total bitrate of the original video.
d) I unchecked “Fast 1st pass”.
e) I set video level on 3.2 (but did not do this to the YouTube-sourced video folder).
2. Filtering:
2.1. I set support on Avisynth.
2.2 Filtering > Avisynth:
a) I accessed to the “Frame” tab.
b) I enabled “FPS Adjust:” then set it to “InterFrame”.
c) Tuning: smooth. Target frame rate: (the double of the origin). Override algo.: smooth. (I did not touch the preset, I left it on medium.)
3. The output target name was “output.mp4”.
Debug output level 9 is included in the ZIP file, in “Camera Test” folder.
However, everything seemed fine to me after I doubled the frame rate.

I did not know what “8.3 filename” was until you told me about it. I did not disable it.
I had to consult a tutorial to see how to check if it was enabled, and yes, it is.

Vapoursynth… I used Vapoursynth for the YouTube-sourced video, but after the two-pass step, it crashed and showed me this error:
Code:
Aborting '21_29_19_7610_12_muxing' due to: ERROR: D:\asus\Videos\YouTube-sourced Test\21_29_19_7610__12_withTimeCodes_0.mp4 was not created!

I do not know what happened, what I did is same steps of earlier except for Vapoursynth, I went to Filtering tab > Vapoursynth > Frame Interpolation > Frame rate: (the double of the original). Preset: medium. Tuning: smooth. Overwrite algo.: smooth.
I included a level four debug output in “YouTube-sourced Test by Vapoursynth”.

But about AviSynth, I renamed the input file in appropriate letters having ASCII codes and I successfully could double frame the video.
Thank you very much, it worked to me.

I received the link to your current Dev version. I will try it with my tests again, thank you.


ZIP download link: https://drive.google.com/file/d/1t0TQGnB...sp=sharing
(I had to include it in a third-party website because the attachment’s size surpassed the maximum size limit.)
Problem with Vapoursynth is a bug, when frame interpolation is used, input time codes should be ignored, which did not happen and thus the time code count does not match the frame count which causes the crash.
=> the dev version I send you should already fix that, please try with the dev version like I asked you and report back.

Cu Selur
I installed the Dev version and tried again with “YouTube-sourced Test”.
Unfortunately, I found that the error is still occuring. You could see the debug output and the result video in the attached ZIP file.
Seems like I overlooked something when Vapoursynth is used.
-> looking into it
Send you a new link to a dev version which should properly ignore output time codes when frame interpolation is used.

See you next year,
Selur
I’ve received the link of new Dev version. I installed it on my computer.
The process was done successfully using Vapoursynth, thank you very much again.

Please have a happy New Year full of health, success and happiness, you and all who read this!