MPEG Preseek does not work for some h264 files. #26837

Closed
opened 2011-04-08 07:55:02 +02:00 by David Sheftick · 35 comments

%%%File: http://davidsheftick.com/wp-content/uploads/2011/Video.rar

(Sorry if this is a double post. my first attempts(s) did not seem to work.)
When you open the file you will see that the first 10 frames (varies on other videos) of the video do not display properly. When I run blender in debug mode I get the following output:
...
120: [mpegts @ 0000000000550800]MAX_READ_SIZE:5000000 reached
...
132: [h264 @ 000000000D742980]non-existing SPS 1 referenced in buffering period
133: [h264 @ 000000000D742980]non-existing PPS referenced
134: [h264 @ 000000000D742980]number of reference frames exceeds max (probably corrup
135: t input), discarding one
136: Last message repeated 2 times
...

Complete output: http://www.pasteall.org/20667

It seems that the MPEG Preseek setting is somewhat ignored. It used to be that the maximum Preseek that I had to use on these files was 35.

If I turn up the MPEG Preseek to 50 then I can jump up to 50 frames ahead and the image will look clear (Provided there was a key frame somewhere in there). But if I jump more then 50 frames ahead the image becomes blocky.

If I build blender with seek_by_bytes enabled (blender\source\blender\imbuf\intern\anim_movie.c. lines 854-858) open the file set the MPEG Preseek value to 35 then these files then play without a problem. Is there an easy way to make it so that if the default method of seeking fails then the seek by bytes method is tried?

BTW. This is a raw video file from my Panasonic HDC-TM700. Filmed at 1080/60p. These worked fine in blender until rev.32815.

Tested on blender RC2 and r36048.
Windows 7
4GB ram
NVIDIA Quadro 1600M
#9500 Core 2 Duo @ 2.6 GHz.%%%

%%%File: http://davidsheftick.com/wp-content/uploads/2011/Video.rar (Sorry if this is a double post. my first attempts(s) did not seem to work.) When you open the file you will see that the first 10 frames (varies on other videos) of the video do not display properly. When I run blender in debug mode I get the following output: ... 120: [mpegts @ 0000000000550800]MAX_READ_SIZE:5000000 reached ... 132: [h264 @ 000000000D742980]non-existing SPS 1 referenced in buffering period 133: [h264 @ 000000000D742980]non-existing PPS referenced 134: [h264 @ 000000000D742980]number of reference frames exceeds max (probably corrup 135: t input), discarding one 136: Last message repeated 2 times ... Complete output: http://www.pasteall.org/20667 It seems that the MPEG Preseek setting is somewhat ignored. It used to be that the maximum Preseek that I had to use on these files was 35. If I turn up the MPEG Preseek to 50 then I can jump up to 50 frames ahead and the image will look clear (Provided there was a key frame somewhere in there). But if I jump more then 50 frames ahead the image becomes blocky. If I build blender with seek_by_bytes enabled (blender\source\blender\imbuf\intern\anim_movie.c. lines 854-858) open the file set the MPEG Preseek value to 35 then these files then play without a problem. Is there an easy way to make it so that if the default method of seeking fails then the seek by bytes method is tried? BTW. This is a raw video file from my Panasonic HDC-TM700. Filmed at 1080/60p. These worked fine in blender until rev.32815. Tested on blender RC2 and r36048. Windows 7 4GB ram NVIDIA Quadro 1600M #9500 Core 2 Duo @ 2.6 GHz.%%%
Author

Changed status to: 'Open'

Changed status to: 'Open'
Member

%%%Thanks for the report, I'm sure Peter can use this info.%%%

%%%Thanks for the report, I'm sure Peter can use this info.%%%
Author

%%%I don't know if this is the right way to do this but if I change line 892 in file \blender\source\blender\imbuf\intern\anim_movie.c from:

pos += st_time;
to:
pos -= st_time;

then these files work!!!
Note: I have to manually set the MPEG Preseek to 35. Blender does not do this automatically.

Also it seem that a recent change causes blender to crash when adding blender made h264 videos, and no it is not this change I made ;)%%%

%%%I don't know if this is the right way to do this but if I change line 892 in file \blender\source\blender\imbuf\intern\anim_movie.c from: pos += st_time; to: pos -= st_time; then these files work!!! Note: I have to manually set the MPEG Preseek to 35. Blender does not do this automatically. Also it seem that a recent change causes blender to crash when adding blender made h264 videos, and no it is not this change I made ;)%%%
Author

%%%IT FIXES 2 BUGS!!
It used to be that if I played the movie using Alt+a and then paused it at some random point and made adjustments then the video would jump back a few frames. Now it stays on the exact frame that it was paused on! This will help me keep sound and video synced!

...Actually just tested a little further I can still have some problems but only if I make adjustments in the first 35 frames. But that's not a big problem.

BTW this is without enabling "seek_by_bytes" as described in the original post. The only change I made this time was the + to a - sign.%%%

%%%IT FIXES 2 BUGS!! It used to be that if I played the movie using Alt+a and then paused it at some random point and made adjustments then the video would jump back a few frames. Now it stays on the exact frame that it was paused on! This will help me keep sound and video synced! ...Actually just tested a little further I can still have some problems but only if I make adjustments in the first 35 frames. But that's not a big problem. BTW this is without enabling "seek_by_bytes" as described in the original post. The only change I made this time was the + to a - sign.%%%
Member

%%%* the bad news, your fix isn't a fix, just a way to increase the preseek. (FYI: the st_time is the start time offset of the first frame within the file. You have to add this, otherwise, seeking will go horribly wrong in general. Example: cut a large HDV file in the middle and try to seek within the second part with your patch :) )

  • the good news: my own development tree (with the new seek code, I'll commit soon), does it right, but you have to preseek 50 frames, to catch all cases. (Some frames at the beginning are still broken, but this looks like a ffmpeg issue.)
  • seek_by_bytes was a hack for broken MPEGTS files, which I'll remove soon, since it's, well a hack, since it seeks by wild guessing and breaks easily on certain HDV-files (especially those with holes...)

Cheers,
Peter
%%%

%%%* the bad news, your fix isn't a fix, just a way to increase the preseek. (FYI: the st_time is the start time offset of the first frame within the file. You *have* to add this, otherwise, seeking will go horribly wrong in general. Example: cut a large HDV file in the middle and try to seek within the second part with your patch :) ) * the good news: my own development tree (with the new seek code, I'll commit soon), does it right, but you have to preseek 50 frames, to catch all cases. (Some frames at the beginning are still broken, but this looks like a ffmpeg issue.) * seek_by_bytes was a hack for broken MPEGTS files, which I'll remove soon, since it's, well a hack, since it seeks by wild guessing and breaks easily on certain HDV-files (especially those with holes...) Cheers, Peter %%%
Author

%%%LOL I kind of figured that. However cutting raw files from my camcorder woks perfectly with this hack. I can split and jump to any point in the video in about 1 second and it is always at the correct frame even on a 80k+ frame video. The only time I have trouble with this is when editing files that were split by my camcorder ( < 4GB.) Seeking can take a long time on those and the first few frames still do not work. Or when the videos have blank frames (not filmed at 60p) it works but the new cut starts off in the wrong place. But thats the way it has always been for me with blender. :p So I will continue to use this hack on my own builds until something better comes along. (I also increased the bit rate limits, 14Mbs is just not enough to match the original with these files, any chance of upping that limit? :) )
Anyway I can't wait to test your fix. Thanks for the update.%%%

%%%LOL I kind of figured that. However cutting raw files from my camcorder woks perfectly with this *hack*. I can split and jump to any point in the video in about 1 second and it is always at the correct frame even on a 80k+ frame video. The only time I have trouble with this is when editing files that were split by my camcorder ( < 4GB.) Seeking can take a long time on those and the first few frames still do not work. Or when the videos have blank frames (not filmed at 60p) it works but the new cut starts off in the wrong place. But thats the way it has always been for me with blender. :p So I will continue to use this hack on my own builds until something better comes along. (I also increased the bit rate limits, 14Mbs is just not enough to match the original with these files, any chance of upping that limit? :) ) Anyway I can't wait to test your fix. Thanks for the update.%%%
Member

%%%my new seeking code with indices starts working (finally fixed the remaining show stopper bugs for HDV today).

So: if you want to test and give feedback, please feel free to use my vse-proxies branch on gitorious:

http://gitorious.org/~schlaile/blenderprojects/blender-vse-schlaile

if you like. (The code will give a tremendous amount of debug output, so if something doesn't work out, please post the debug output starting from the TC INDEX seek lines to SCAN: bla... UNHAPPY)

Cheers,
Peter%%%

%%%my new seeking code with indices starts working (finally fixed the remaining show stopper bugs for HDV today). So: if you want to test and give feedback, please feel free to use my vse-proxies branch on gitorious: http://gitorious.org/~schlaile/blenderprojects/blender-vse-schlaile if you like. (The code will give a tremendous amount of debug output, so if something doesn't work out, please post the debug output starting from the TC INDEX seek lines to SCAN: bla... UNHAPPY) Cheers, Peter%%%
Author

%%%Thanks for the link. Got it compiled with out a problem. But it seem this fix only helps a little bit.
It seems that blender is seeking FORWARD and NOT BACKWARDS as it should be doing. e.g. It seem to be trying to find the next key frame after the current position instead of trying to find the key frame before the current position. Even with this new build and setting the MPEG Preseek to 50 I only get 4 clear frames every 35 frames or so if I go backwards through the video. But I can jump up to (but not more then) 50 frames ahead and the image will be clear.
Sorry for my bad English. :P Would you like me to post a video to better explain this?

Builds compile fine but if I try to run a debug build It crashes on start-up. The release with debug info starts but crashes when I put a video in. running a release with the -d option works but does not give me any TC INDEX or SCAN. here is what I get with the -d option:
drop file E:\Videos\HDC 4-24-2011\00008.MTS
pass on evt 20515 val 2
handle evt 0 win 7 op SEQUENCER_OT_movie_strip_add
[mpegts @ 0000000000580820]MAX_READ_SIZE:5000000 reached
[mpegts @ 00000000085DDE90]MAX_READ_SIZE:5000000 reached
Input #0, mpegts, from 'E:\Videos\HDC 4-24-2011\00008.MTS':

Duration: 00:00:12.52, start: 0.801678, bitrate: 24668 kb/s
Program 1
  Stream #0.0[0x1011]: Video: h264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 59.

96 fps, 59.94 tbr, 90k tbn, 119.88 tbc

  Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
  Stream #0.2[0x1200]: Subtitle: pgssub

[swscaler @ 000000000E4C6010]No accelerated colorspace conversion found from yuv
420p to rgba.
[swscaler @ 000000000E4C6010]using unscaled yuv420p -> rgba special converter
[mpegts @ 000000000848E5E0]MAX_READ_SIZE:5000000 reached
bpy.ops.sequencer.movie_strip_add(filepath="E:\Videos\HDC 4-24-2011\00008.MTS",
filter_blender=False, filter_image=False, filter_movie=True, filter_python=False
, filter_font=False, filter_sound=False, filter_text=False, filter_btx=False, fi
lter_collada=False, filter_folder=True, filemode=9, relative_path=False, frame_s
tart=1, channel=1, replace_sel=True, files=- [ ], sound=True)
undo push Add Movie Strip
[h264 @ 000000000E2D0420]non-existing SPS 5 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
[h264 @ 000000000E2D0420]number of reference frames exceeds max (probably corrup
t input), discarding one

  Last message repeated 9 times

[h264 @ 000000000E2D0420]non-existing SPS 6 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced

pressing -> until the Image becomes clear (at frame 20) gives:

pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
[mpegts @ 000000000E6CEED0]MAX_READ_SIZE:5000000 reached
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 2.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 6 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 3.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 4.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 5.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 6.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 7.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 8.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 9.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 10.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 11.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 12.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 13.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 14.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 15.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 16.000000

      No Actions, so no animation needs to be evaluated...

[h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period
[h264 @ 000000000E2D0420]non-existing PPS referenced
pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 17.000000

      No Actions, so no animation needs to be evaluated...

pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 18.000000

      No Actions, so no animation needs to be evaluated...

pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 19.000000

      No Actions, so no animation needs to be evaluated...

pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 20.000000

      No Actions, so no animation needs to be evaluated...

pass on evt 139 val 2
pass on evt 139 val 1
handle evt 139 win 7 op SCREEN_OT_frame_offset
bpy.ops.screen.frame_offset(delta=1)
Evaluate all animation - 21.000000

      No Actions, so no animation needs to be evaluated...

pass on evt 139 val 2
pass on evt 260 val 0

Good luck!
David%%%

%%%Thanks for the link. Got it compiled with out a problem. But it seem this fix only helps a little bit. It seems that blender is seeking FORWARD and NOT BACKWARDS as it should be doing. e.g. It seem to be trying to find the next key frame after the current position instead of trying to find the key frame before the current position. Even with this new build and setting the MPEG Preseek to 50 I only get 4 clear frames every 35 frames or so if I go backwards through the video. But I can jump up to (but not more then) 50 frames ahead and the image will be clear. Sorry for my bad English. :P Would you like me to post a video to better explain this? Builds compile fine but if I try to run a debug build It crashes on start-up. The release with debug info starts but crashes when I put a video in. running a release with the -d option works but does not give me any TC INDEX or SCAN. here is what I get with the -d option: drop file E:\Videos\HDC 4-24-2011\00008.MTS pass on evt 20515 val 2 handle evt 0 win 7 op SEQUENCER_OT_movie_strip_add [mpegts @ 0000000000580820]MAX_READ_SIZE:5000000 reached [mpegts @ 00000000085DDE90]MAX_READ_SIZE:5000000 reached Input #0, mpegts, from 'E:\Videos\HDC 4-24-2011\00008.MTS': ``` Duration: 00:00:12.52, start: 0.801678, bitrate: 24668 kb/s Program 1 Stream #0.0[0x1011]: Video: h264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 59. ``` 96 fps, 59.94 tbr, 90k tbn, 119.88 tbc ``` Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s Stream #0.2[0x1200]: Subtitle: pgssub ``` [swscaler @ 000000000E4C6010]No accelerated colorspace conversion found from yuv 420p to rgba. [swscaler @ 000000000E4C6010]using unscaled yuv420p -> rgba special converter [mpegts @ 000000000848E5E0]MAX_READ_SIZE:5000000 reached bpy.ops.sequencer.movie_strip_add(filepath="E:\Videos\HDC 4-24-2011\00008.MTS", filter_blender=False, filter_image=False, filter_movie=True, filter_python=False , filter_font=False, filter_sound=False, filter_text=False, filter_btx=False, fi lter_collada=False, filter_folder=True, filemode=9, relative_path=False, frame_s tart=1, channel=1, replace_sel=True, files=- [ ], sound=True) undo push Add Movie Strip [h264 @ 000000000E2D0420]non-existing SPS 5 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced [h264 @ 000000000E2D0420]number of reference frames exceeds max (probably corrup t input), discarding one ``` Last message repeated 9 times ``` [h264 @ 000000000E2D0420]non-existing SPS 6 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pressing -> until the Image becomes clear (at frame 20) gives: pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset [mpegts @ 000000000E6CEED0]MAX_READ_SIZE:5000000 reached bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 2.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 6 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 3.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 4.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 5.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 6.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 7.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 8.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 9.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 10.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 1 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 11.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 12.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 13.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 14.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 15.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 16.000000 ``` No Actions, so no animation needs to be evaluated... ``` [h264 @ 000000000E2D0420]non-existing SPS 2 referenced in buffering period [h264 @ 000000000E2D0420]non-existing PPS referenced pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 17.000000 ``` No Actions, so no animation needs to be evaluated... ``` pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 18.000000 ``` No Actions, so no animation needs to be evaluated... ``` pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 19.000000 ``` No Actions, so no animation needs to be evaluated... ``` pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 20.000000 ``` No Actions, so no animation needs to be evaluated... ``` pass on evt 139 val 2 pass on evt 139 val 1 handle evt 139 win 7 op SCREEN_OT_frame_offset bpy.ops.screen.frame_offset(delta=1) Evaluate all animation - 21.000000 ``` No Actions, so no animation needs to be evaluated... ``` pass on evt 139 val 2 pass on evt 260 val 0 Good luck! David%%%
Member

%%%oh, you haven't compiled the right branch, I think.

You need to

git checkout vse-proxies

before compiling!

Sorry, should have mentioned that.

Cheers,
Peter%%%

%%%oh, you haven't compiled the right branch, I think. You need to git checkout vse-proxies before compiling! Sorry, should have mentioned that. Cheers, Peter%%%
Author

%%%Ignore my last report I think I just found the real problem. I will post more about it tomorrow when I have time. It seems that anim->pFormatCtx->start_time is giving the wrong value. Should be zero for these files, but it gives a value greater then 0.%%%

%%%Ignore my last report I think I just found the real problem. I will post more about it tomorrow when I have time. It seems that anim->pFormatCtx->start_time is giving the wrong value. Should be zero for these files, but it gives a value greater then 0.%%%
Member

%%%... since the new code (using indices) doesn't rely on start_time, it could be worth a shot :)

Indices work like this: click on proxy in N-keys, then, do a "rebuild proxy" from strip-menu.
It will rebuild the proxy in background, showing a status bar at the bottom.

If it has finished, you can select "TC record run" on the proxy tab and see, if that works better. Doesn't work for all formats though, and I got it only working really nicely for HDV right now (MP4 e.g. doesn't work, since the container format doesn't support byte seeking in ffmpeg, but I'm adding DTS based seeking there soon, so that it should also work.)

Cheers,
Peter%%%

%%%... since the new code (using indices) doesn't rely on start_time, it could be worth a shot :) Indices work like this: click on proxy in N-keys, then, do a "rebuild proxy" from strip-menu. It will rebuild the proxy in background, showing a status bar at the bottom. If it has finished, you can select "TC record run" on the proxy tab and see, if that works better. Doesn't work for all formats though, and I got it only working really nicely for HDV right now (MP4 e.g. doesn't work, since the container format doesn't support byte seeking in ffmpeg, but I'm adding DTS based seeking there soon, so that it should also work.) Cheers, Peter%%%
Author

%%%....Oh wrong branch.... that might help. Sorry did not see that until just now. Now I got the right branch but I have compiling problems on VS 2010:

36>........\blenderVSE\source\blender\imbuf\intern\anim_movie.c(842): error C2039: 'pkt_pts' : is not a member of 'AVFrame'
36> F:/lib/win64/ffmpeg/include\libavcodec/avcodec.h(1013) : see declaration of 'AVFrame'
36>........\blenderVSE\source\blender\imbuf\intern\anim_movie.c(843): error C2039: 'pkt_pts' : is not a member of 'AVFrame'
36> F:/lib/win64/ffmpeg/include\libavcodec/avcodec.h(1013) : see declaration of 'AVFrame'
36>........\blenderVSE\source\blender\imbuf\intern\anim_movie.c(843): fatal error C1903: unable to recover from previous error(s); stopping compilation

%%%

%%%....Oh wrong branch.... that might help. Sorry did not see that until just now. Now I got the right branch but I have compiling problems on VS 2010: 36>..\..\..\..\blenderVSE\source\blender\imbuf\intern\anim_movie.c(842): error C2039: 'pkt_pts' : is not a member of 'AVFrame' 36> F:/lib/win64/ffmpeg/include\libavcodec/avcodec.h(1013) : see declaration of 'AVFrame' 36>..\..\..\..\blenderVSE\source\blender\imbuf\intern\anim_movie.c(843): error C2039: 'pkt_pts' : is not a member of 'AVFrame' 36> F:/lib/win64/ffmpeg/include\libavcodec/avcodec.h(1013) : see declaration of 'AVFrame' 36>..\..\..\..\blenderVSE\source\blender\imbuf\intern\anim_movie.c(843): fatal error C1903: unable to recover from previous error(s); stopping compilation %%%
Member

%%%hmm, that sounds like "ffmpeg version too old error" :)

I'm currently using a ffmpeg version of 2011-02-05, either use this or try the most recent version and tell me where it breaks :)

Cheers,
Peter%%%

%%%hmm, that sounds like "ffmpeg version too old error" :) I'm currently using a ffmpeg version of 2011-02-05, either use this or try the most recent version and tell me where it breaks :) Cheers, Peter%%%
Author

%%%I can't seem to find a ffmpeg windows build of that date. So I am trying to use the latest nightly which is May 23 2011.
Here is what I get when I try to compile :S

http://www.pasteall.org/21917/text

I am probably doing something wrong...%%%

%%%I can't seem to find a ffmpeg windows build of that date. So I am trying to use the latest nightly which is May 23 2011. Here is what I get when I try to compile :S http://www.pasteall.org/21917/text I am probably doing something wrong...%%%
Author

%%%Could you send me one of your builds? I can use Linux if that's what you have.%%%

%%%Could you send me one of your builds? I can use Linux if that's what you have.%%%
Member

%%%I updated the ffmpeg code in SVN / master / vse-proxies, so: please try again, latest GIT should work now. (tested with libav )

Cheers,
Peter%%%

%%%I updated the ffmpeg code in SVN / master / vse-proxies, so: please try again, latest GIT should work now. (tested with libav ) Cheers, Peter%%%
Author

%%%Still same problems. I will let you know if I can figure out how to compile it. Seems ti think that I am using GCC. Maybe I will try that but builds with GCC on my system do not work well.%%%

%%%Still same problems. I will let you know if I can figure out how to compile it. Seems ti think that I am using GCC. Maybe I will try that but builds with GCC on my system do not work well.%%%

%%%Any updates here? Proxies are in SVN now. %%%

%%%Any updates here? Proxies are in SVN now. %%%
Author

%%%Yes. Sorry to say no good news though. The timecode indices seem to fail in all cases that I have tried; H264, AVI-jpeg, videos from my camera. I even tried the builds from http://builder.blender.org/download/ they have the same problems. After building the proxy/ timecode indices and switching to any of the timecode options causes the videos to become only one frame in length or will cause a couple of hundred frame file to become several hundred million frames long! Sometimes the videos that become millions of frames long somewhat work but only the first time it is played. I also now get an 8 pixel high black bar at the bottom of my videos.
Actually there is some good news and that is that the proxy files are built are perfectly fine. But even the proxys do not show-up properly in the VSE. If only blender decoded the files for rendering the same way it does to build the proxy files.
I will post the debug output when I have time. last I checked it was complaining about "pts" not matching. %%%

%%%Yes. Sorry to say no good news though. The timecode indices seem to fail in all cases that I have tried; H264, AVI-jpeg, videos from my camera. I even tried the builds from http://builder.blender.org/download/ they have the same problems. After building the proxy/ timecode indices and switching to any of the timecode options causes the videos to become only one frame in length or will cause a couple of hundred frame file to become several hundred million frames long! Sometimes the videos that become millions of frames long somewhat work but only the first time it is played. I also now get an 8 pixel high black bar at the bottom of my videos. Actually there is some good news and that is that the proxy files are built are perfectly fine. But even the proxys do not show-up properly in the VSE. If only blender decoded the files for rendering the same way it does to build the proxy files. I will post the debug output when I have time. last I checked it was complaining about "pts" not matching. %%%
Author

%%%Here is the debug output.
http://www.pasteall.org/24586
All I did was drop the file into the sequencer, enable proxys, rebuild the proxy/ timecode indices and select record run.
The file jumps from 120 frames to nearly 2 billion.
Here is the video file I used for the test. http://davidsheftick.com/wp-content/uploads/00095.MTS (Uploading ...)
And here is a file that becomes 1 frame in length when using the timecode indices. http://davidsheftick.com/wp-content/uploads/00083.MTS
About the 8 pixel black bar; I noticed that in the debug output the file is originally recognized as a 19201080 file, which is what it is (line 25), but is later changed to a 19201088 file (line 177). This seems to happen for all H264 files now.%%%

%%%Here is the debug output. http://www.pasteall.org/24586 All I did was drop the file into the sequencer, enable proxys, rebuild the proxy/ timecode indices and select record run. The file jumps from 120 frames to nearly 2 billion. Here is the video file I used for the test. http://davidsheftick.com/wp-content/uploads/00095.MTS (Uploading ...) And here is a file that becomes 1 frame in length when using the timecode indices. http://davidsheftick.com/wp-content/uploads/00083.MTS About the 8 pixel black bar; I noticed that in the debug output the file is originally recognized as a 1920*1080 file, which is what it is (line 25), but is later changed to a 1920*1088 file (line 177). This seems to happen for all H264 files now.%%%
Author

%%%Hi again. I just got a chance to do some test on Linux Ubuntu. Timecode indices work much better on Linux, but there is still some problems, some specific to videos from my camera and some not.
For all H264 files it cuts off the last frame or 2 of the video. The black bar at the bottom is also present with or without timecode indices.
For videos from my camera it skips every sixth frame and replaces it with the frame after it. Both files from my last post have this problem.
I also did some test on a 32bit version of windows, and got the same problems as I did with the 64bit version.
Also could I make one small* request? Could you make it possible to build timecode indices without building proxys? Some of my files are over 80k frames long, and I would rather not use the extra time and hard-drive space required to build such large proxy files.
Thanks.
David%%%

%%%Hi again. I just got a chance to do some test on Linux Ubuntu. Timecode indices work much better on Linux, but there is still some problems, some specific to videos from my camera and some not. For all H264 files it cuts off the last frame or 2 of the video. The black bar at the bottom is also present with or without timecode indices. For videos from my camera it skips every sixth frame and replaces it with the frame after it. Both files from my last post have this problem. I also did some test on a 32bit version of windows, and got the same problems as I did with the 64bit version. Also could I make one small* request? Could you make it possible to build timecode indices without building proxys? Some of my files are over 80k frames long, and I would rather not use the extra time and hard-drive space required to build such large proxy files. Thanks. David%%%

%%%David.
Fixes for some issues i've learned reading this report and comments had been just commited to svn rev40951. We'll prepare RC2 builds today which would contain this fixes so it should be easy for you to test. Please tell me which issues are still present and i'll try to solve them,
%%%

%%%David. Fixes for some issues i've learned reading this report and comments had been just commited to svn rev40951. We'll prepare RC2 builds today which would contain this fixes so it should be easy for you to test. Please tell me which issues are still present and i'll try to solve them, %%%
Author

%%%Thank You Ton and Sergey! That was fast! Almost all problems are now fixed.
The only problem left is that it cuts off the last frame of the video, and possibly the first frame also. You can see this in 00083.MTS file that I posted. Notice the difference between the last frames:
No TC: http://pasteall.org/pic/show.php?id=18935
TC Record run(or any other): http://www.pasteall.org/pic/show.php?id=18936
Not sure if its related but there is still a black bar on the right side of the FIELD_preview.mov from here: http://download.blender.org/ftp/incoming/libmv/colin/
Also Ignore my request. I just realized that you can build timecode indices without building proxys if you uncheck all the proxy sizes before building the proxy/timecode indices. :)%%%

%%%Thank You Ton and Sergey! That was fast! Almost all problems are now fixed. The only problem left is that it cuts off the last frame of the video, and possibly the first frame also. You can see this in 00083.MTS file that I posted. Notice the difference between the last frames: No TC: http://pasteall.org/pic/show.php?id=18935 TC Record run(or any other): http://www.pasteall.org/pic/show.php?id=18936 Not sure if its related but there is still a black bar on the right side of the FIELD_preview.mov from here: http://download.blender.org/ftp/incoming/libmv/colin/ Also Ignore my request. I just realized that you can build timecode indices without building proxys if you uncheck all the proxy sizes before building the proxy/timecode indices. :)%%%

%%%Unfortunately, i can't make 00083.MTS be displayed correct in any application here (ffmpeg, mencoder, mplayer, avidemux..). Will try again tomorrow but not sure if i'll success.
About that black bar.. Looks like it should be something more global change than just setting "correct" resolution to animation. Need to talk with Peter about this.

Yeah, forgot to tell you about option to disable all proxies in first commit. Cool to hear you've found it :)%%%

%%%Unfortunately, i can't make 00083.MTS be displayed correct in any application here (ffmpeg, mencoder, mplayer, avidemux..). Will try again tomorrow but not sure if i'll success. About that black bar.. Looks like it should be something more global change than just setting "correct" resolution to animation. Need to talk with Peter about this. Yeah, forgot to tell you about option to disable all proxies in first commit. Cool to hear you've found it :)%%%
Author

%%%I just checked; something is wrong with the 00083.MTS I will re-upload soon.
Now that sequencer-proxy are working I have found some other related problems in the VSE.
The generated proxy video files are now too tall. A 100% proxy for a 1080 file is built as a 1088 file, a 50% is built as a 544 instead of a 540 etc.
Also using crop on anything other then a 100% proxy shows up incorrectly as it is cropping the proxy file's dimensions rather then considering the scale compared to the original.%%%

%%%I just checked; something is wrong with the 00083.MTS I will re-upload soon. Now that sequencer-proxy are working I have found some other related problems in the VSE. The generated proxy video files are now too tall. A 100% proxy for a 1080 file is built as a 1088 file, a 50% is built as a 544 instead of a 540 etc. Also using crop on anything other then a 100% proxy shows up incorrectly as it is cropping the proxy file's dimensions rather then considering the scale compared to the original.%%%
Author

%%%File is up: http://davidsheftick.com/wp-content/uploads/00083.MTS%%%

%%%File is up: http://davidsheftick.com/wp-content/uploads/00083.MTS%%%

%%%Heh.. Right, proxies generation uses resolution from codec. Like some other places like FFmpeg post-process. To make this parts deal with proper resolution larger changes would be necessary, which better not to try on RC2 stage.
I reverted resolution-related change to make behavior of all areas be consistent. It's easier to just set image crop for strip rather than trying to make quick fix. Crop can be found in N-panel -> Strip Input -> Image crop.
And thanks for re-uploaded video. Checking it now.%%%

%%%Heh.. Right, proxies generation uses resolution from codec. Like some other places like FFmpeg post-process. To make this parts deal with proper resolution larger changes would be necessary, which better not to try on RC2 stage. I reverted resolution-related change to make behavior of all areas be consistent. It's easier to just set image crop for strip rather than trying to make quick fix. Crop can be found in N-panel -> Strip Input -> Image crop. And thanks for re-uploaded video. Checking it now.%%%

%%%Checked that issue with timecode and 00083.MTS. In this case position in stream when not using timecode is calculating incorrectly (didn't checked why exactly, probably because of this video was trunkated and sequence of i/p frames damaged). And anyway, it's not accurate way to positioning in stream and that's why timecodes were added. For example, i can easily make that file rendered incorrectly when it's added into sequencer, saved with current frame ~239 and rendered just after opening this file. In this case you'll easily notice failure of non-timecode seek.
Personally (and most probably Peter will agree with me) timecodes better always be used. They allows more accurate seek on frames and they makes behavior more predictable.
Not sure why last frame in non-timecode seek is different, probably it's stored after EOF flag or so, but i can't see this frame when using ffplay/mencoder/vlc. Also tried to open result of re-coding video with mencoder -- it behaves in the same way as original file with timecode. So most probably it's just another failure of non-timecode seek.
Probably it can be improved by calculating indices automatically if there's no proxies built rather than trying to guess position in stream..

So, small summary:

  • most probably that last frame issue is just failure of non-accurate position calculating for such kind of videos and can't be solved without timecodes (will ask Peter if he've got other thoughts on this).
  • e still have got issue with movie resolution. Need to be investigated further.
  • Any other issues you've got?%%%
%%%Checked that issue with timecode and 00083.MTS. In this case position in stream when not using timecode is calculating incorrectly (didn't checked why exactly, probably because of this video was trunkated and sequence of i/p frames damaged). And anyway, it's not accurate way to positioning in stream and that's why timecodes were added. For example, i can easily make that file rendered incorrectly when it's added into sequencer, saved with current frame ~239 and rendered just after opening this file. In this case you'll easily notice failure of non-timecode seek. Personally (and most probably Peter will agree with me) timecodes better always be used. They allows more accurate seek on frames and they makes behavior more predictable. Not sure why last frame in non-timecode seek is different, probably it's stored after EOF flag or so, but i can't see this frame when using ffplay/mencoder/vlc. Also tried to open result of re-coding video with mencoder -- it behaves in the same way as original file with timecode. So most probably it's just another failure of non-timecode seek. Probably it can be improved by calculating indices automatically if there's no proxies built rather than trying to guess position in stream.. So, small summary: - most probably that last frame issue is just failure of non-accurate position calculating for such kind of videos and can't be solved without timecodes (will ask Peter if he've got other thoughts on this). - e still have got issue with movie resolution. Need to be investigated further. - Any other issues you've got?%%%
Author

%%%That works for me. I'm just happy that my videos are workable in blender again. They worked fine in blender until rev.32815
The black bar problem is easily solved with the crop option and it seems to only effect H264 files. I will also probably never miss the last frame.
Thanks for all your help.
David.%%%

%%%That works for me. I'm just happy that my videos are workable in blender again. They worked fine in blender until rev.32815 The black bar problem is easily solved with the crop option and it seems to only effect H264 files. I will also probably never miss the last frame. Thanks for all your help. David.%%%
Author

%%%One last problem. If you press Alt+A about 10 times to play/pause a video blender crashes. It verys from ~2-20. seems the longer you let it play between pauses the sooner it crashes. Also using esc multiple times to stop a video crashes blender.
Using the GUI buttons seems to work fine though.
Sorry for going on so many rabbit trails with this one report. I seem to be building reputation for this kind of thing with bug reports.%%%

%%%One last problem. If you press Alt+A about 10 times to play/pause a video blender crashes. It verys from ~2-20. seems the longer you let it play between pauses the sooner it crashes. Also using esc multiple times to stop a video crashes blender. Using the GUI buttons seems to work fine though. Sorry for going on so many rabbit trails with this one report. I seem to be building reputation for this kind of thing with bug reports.%%%

%%%Failed to reproduce crashes here. They can be related on preview widget and compositor, i.e. Can you try to reproduce crash on sequencer opened in fullscreen mode? If it'll crash, which file causes it? Which sound output you're using? And which blender version (if it's your own build, which ffmpeg version is used)?%%%

%%%Failed to reproduce crashes here. They can be related on preview widget and compositor, i.e. Can you try to reproduce crash on sequencer opened in fullscreen mode? If it'll crash, which file causes it? Which sound output you're using? And which blender version (if it's your own build, which ffmpeg version is used)?%%%
Author

%%%Sound, I did not think of that. It seems to only happen on the 64bit Windows build while using Open-AL sound. I am using the official 2.60 build now and it still crashes. although a recent change makes it take about 3 times longer to crash. :) It seems that any video with sound in the VSE will crash, the two I posted here crash fine...:P
I am happy to report that using SDL sound woks great. Thanks for the hint.%%%

%%%Sound, I did not think of that. It seems to only happen on the 64bit Windows build while using Open-AL sound. I am using the official 2.60 build now and it still crashes. although a recent change makes it take about 3 times longer to crash. :) It seems that any video with sound in the VSE will crash, the two I posted here crash fine...:P I am happy to report that using SDL sound woks great. Thanks for the hint.%%%

%%%Yes, easy to reproduce crashes on windows. For it doesn't depend on audio system used and looks like it's FFmpeg issue. Trying to figure out if it's build environment/configuration issue or it's FFmpeg itself.%%%

%%%Yes, easy to reproduce crashes on windows. For it doesn't depend on audio system used and looks like it's FFmpeg issue. Trying to figure out if it's build environment/configuration issue or it's FFmpeg itself.%%%

%%%Crashes are solved for me with recent commit in trunk. Got some occasional crashes from avcodec but can't see anything wrong from our side.
Moved issue with video resolution to TODO due to it's not really a bug, just how blender currently handles files.
Thanks for the report, tests and feedback. Feel free to add extra comments about related bug here or as separated reports (if they aren't connected to discussion here). CLosing report now.%%%

%%%Crashes are solved for me with recent commit in trunk. Got some occasional crashes from avcodec but can't see anything wrong from our side. Moved issue with video resolution to TODO due to it's not really a bug, just how blender currently handles files. Thanks for the report, tests and feedback. Feel free to add extra comments about related bug here or as separated reports (if they aren't connected to discussion here). CLosing report now.%%%

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#26837
No description provided.