Video is choppy/halting while streaming
Reported by
hissoldi...@gmail.com,
Feb 11 2017
|
|||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 Example URL: http://sharpeyed.zflministries.com Steps to reproduce the problem: 1. Go to http://sharpeyed.zflministries.com 2. Play the video directly on the home page. 3. Result is that the video becomes choppy or halting. 4. Open up the developer tools area and see the Network requests for the video. Opening in Edge, Opera, Safari (last version for Windows), and Firefox does not repro. It does not repro on Safari on the iPad or iPhone. Two other users have repro'ed this issue with Chrome (and one with Firefox) on their Macs. What is the expected behavior? For the streaming to be smooth like Opera's. If you go to the Network developer tool area, you would see a lot of "cancel" requests in Chrome as opposed to Opera's. What went wrong? Not sure what went wrong, but video play is not as smooth as the other browsers. At first I thought it may be a caching issue, but that doesn't explain why it's working in other browsers. This also repros with two other users in Chrome who are using the Mac (although one does say it repros in Firefox). Did this work before? N/A Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? Yes Chrome version: 56.0.2924.87 Channel: stable OS Version: 10.0 Flash Version: Shockwave Flash 24.0 r0 Contents of chrome://gpu: Graphics Feature Status Canvas: Software only, hardware acceleration unavailable Flash: Hardware accelerated Flash Stage3D: Hardware accelerated Flash Stage3D Baseline profile: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Native GpuMemoryBuffers: Software only. Hardware acceleration disabled Rasterization: Software only. Hardware acceleration disabled Video Decode: Hardware accelerated Video Encode: Hardware accelerated VPx Video Decode: Hardware accelerated WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds clear_uniforms_before_first_program_use disable_discard_framebuffer disable_dxgi_zero_copy_video disable_framebuffer_cmaa exit_on_context_lost scalarize_vec_and_mat_constructor_args Problems Detected GPU rasterization should only be enabled on NVIDIA Pascal and Maxwell, Intel Broadwell+, and AMD RX-R5 GPUs for now.: 643850 Disabled Features: gpu_rasterization Some drivers are unable to reset the D3D device in the GPU process sandbox Applied Workarounds: exit_on_context_lost Clear uniforms before first program use on all platforms: 124764, 349137 Applied Workarounds: clear_uniforms_before_first_program_use Always rewrite vec/mat constructors to be consistent: 398694 Applied Workarounds: scalarize_vec_and_mat_constructor_args Framebuffer discarding can hurt performance on non-tilers: 570897 Applied Workarounds: disable_discard_framebuffer Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198 Applied Workarounds: disable_framebuffer_cmaa Zero-copy NV12 video displays incorrect colors on NVIDIA drivers.: 635319 Applied Workarounds: disable_dxgi_zero_copy_video Accelerated rasterization has been disabled, either via blacklist, about:flags or the command line. Disabled Features: rasterization Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Version Information Data exported 2/11/2017, 12:31:13 PM Chrome version Chrome/56.0.2924.87 Operating system Windows NT 10.0.14393 Software rendering list version 12.06 Driver bug list version 9.24 ANGLE commit id a4aaa2de57dc 2D graphics backend Skia/56 bf2d9e02d58ea01f1c239f7e2fc024cba140ccb1 Command Line Args --flag-switches-begin --disable-cast-streaming-hw-encoding --flag-switches-end Driver Information Initialization time 0 In-process GPU true Sandboxed false GPU0 VENDOR = 0x10de, DEVICE= 0x0df8 Optimus false AMD switchable false Desktop compositing Aero Glass Diagonal Monitor Size of \\.\DISPLAY2 18.0" Diagonal Monitor Size of \\.\DISPLAY1 18.0" Driver vendor NVIDIA Driver version 21.21.13.7586 Driver date 11-10-2016 Pixel shader version Vertex shader version Max. MSAA samples Machine model name Machine model version GL_VENDOR GL_RENDERER GL_VERSION GL_EXTENSIONS Disabled Extensions Window system binding vendor Window system binding version Window system binding extensions Direct rendering Yes Reset notification strategy 0x0000 GPU process crash count 0 Compositor Information Tile Update Mode One-copy Partial Raster Enabled GpuMemoryBuffers Status ATC Software only ATCIA Software only DXT1 Software only DXT5 Software only ETC1 Software only R_8 Software only RG_88 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 Software only RGBA_8888 Software only BGRX_8888 Software only BGRA_8888 Software only YVU_420 Software only YUV_420_BIPLANAR Software only UYVY_422 Software only Diagnostics ... loading ... Log Messages GpuProcessHostUIShim: The GPU process exited normally. Everything is okay. I've tried some suggestions on other forums (disabling hardware acceleration, resetting all settings, disabling plug-ins/extensions, etc.
,
Feb 12 2017
Also, FWIW, I tested it out with another video, a MP4 formatted version, with the same resolution and it works just fine (same server location). I wonder if it's the M4V format, although that won't explain why it works fine in the other browsers.
,
Feb 12 2017
Update: I converted the M4V video to a MP4 version (H-264/AVC codec at 720p, 30 f/s, with tpe of mp4 iso v.2 and it now streams just fine (all smooth and no chopping). However, I'm going to leave the URL for the M4V video at http://www.zflministries.com/DataContent/HomePageWelcome.m4v for your perusal if you decide to fix this bug or let me know if it's a bug on my side. Thanks.
,
Feb 12 2017
In any case, here's the working MP4 video to compare against: http://www.zflministries.com/DataContent/HomePageWelcome-H264.mp4.
,
Feb 13 2017
,
Feb 13 2017
Likely this means the muxing between audio and video segments is too far apart in the original container; which causes us to have to seek repeatedly in order to get concurrent audio and video buffers.
,
Feb 14 2017
Able to reproduce this issue on Mac 10.12.2, Win-10 and Ubuntu 14.04 using chrome reported version #56.0.2924.87 and latest canary #58.0.3011.0. This is a non-regression issue as it is observed from M30 old builds. Hence, marking it as untriaged to get more inputs from dev team. Thanks...!!
,
Feb 16 2017
I am one of the other users that poster alluded to in his original post. Here are the contents of my chrome://gpu:
Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Hardware accelerated
Rasterization: Hardware accelerated
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
VPx Video Decode: Hardware accelerated
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
add_and_true_to_loop_condition
adjust_src_dst_region_for_blitframebuffer
decode_encode_srgb_for_generatemipmap
disable_framebuffer_cmaa
disable_multimonitor_multisampling
disable_webgl_rgb_multisampling_usage
emulate_abs_int_function
get_frag_data_info_bug
init_two_cube_map_levels_before_copyteximage
msaa_is_slow
pack_parameters_workaround_with_pack_buffer
rebind_transform_feedback_before_resume
regenerate_struct_names
remove_invariant_and_centroid_for_essl3
reset_base_mipmap_level_before_texstorage
rewrite_texelfetchoffset_to_texelfetch
scalarize_vec_and_mat_constructor_args
set_zero_level_before_generating_mipmap
unfold_short_circuit_as_ternary_operation
unpack_alignment_workaround_with_unpack_buffer
unpack_image_height_workaround_with_unpack_buffer
use_intermediary_for_copy_texture_image
use_shadowed_tex_level_params
use_unused_standard_shared_blocks
Problems Detected
Multisampling is buggy on OSX when multiple monitors are connected: 237931
Applied Workarounds: disable_multimonitor_multisampling
Unfold short circuit on Mac OS X: 307751
Applied Workarounds: unfold_short_circuit_as_ternary_operation
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Mac drivers handle struct scopes incorrectly: 403957
Applied Workarounds: regenerate_struct_names
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
glGenerateMipmap fails if the zero texture level is not set on some Mac drivers: 560499
Applied Workarounds: set_zero_level_before_generating_mipmap
Pack parameters work incorrectly with pack buffer bound: 563714
Applied Workarounds: pack_parameters_workaround_with_pack_buffer
Alignment works incorrectly with unpack buffer bound: 563714
Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer
copyTexImage2D fails when reading from IOSurface on multiple GPU types.: 581777
Applied Workarounds: use_intermediary_for_copy_texture_image
Multisample renderbuffers with format GL_RGB8 have performance issues on Intel GPUs.: 607130
Applied Workarounds: disable_webgl_rgb_multisampling_usage
Mac Drivers store texture level parameters on int16_t that overflow: 610153
Applied Workarounds: use_shadowed_tex_level_params
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
glGetFragData{Location|Index} works incorrectly on Max: 638340
Applied Workarounds: get_frag_data_info_bug
glResumeTransformFeedback works incorrectly on Intel GPUs: 638514
Applied Workarounds: rebind_transform_feedback_before_resume
glTexStorage* are buggy when base mipmap level is not 0: 640506
Applied Workarounds: reset_base_mipmap_level_before_texstorage
Result of abs(i) where i is an integer in vertex shader is wrong: 642227
Applied Workarounds: emulate_abs_int_function
Rewrite texelFetchOffset to texelFetch for Intel Mac: 642605
Applied Workarounds: rewrite_texelfetchoffset_to_texelfetch
Rewrite condition in for and while loops for Intel Mac: 644669
Applied Workarounds: add_and_true_to_loop_condition
Decode and encode before generateMipmap for srgb format textures on macosx: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Init first two levels before CopyTexImage2D for cube map texture on Intel Mac 10.12: 648197
Applied Workarounds: init_two_cube_map_levels_before_copyteximage
Insert statements to reference all members in unused std140/shared blocks on Mac: 618464
Applied Workarounds: use_unused_standard_shared_blocks
Tex(Sub)Image3D performs incorrectly when uploading from unpack buffer with GL_UNPACK_IMAGE_HEIGHT greater than zero on Intel Macs: 654258
Applied Workarounds: unpack_image_height_workaround_with_unpack_buffer
adjust src/dst region if blitting pixels outside read framebuffer on Mac: 644740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
Mac driver GL 4.1 requires invariant and centroid to match between shaders: 639760, 641129
Applied Workarounds: remove_invariant_and_centroid_for_essl3
Version Information
Data exported 2/15/2017, 8:33:15 PM
Chrome version Chrome/56.0.2924.87
Operating system Mac OS X 10.12.3
Software rendering list version 12.06
Driver bug list version 9.24
ANGLE commit id a4aaa2de57dc
2D graphics backend Skia/56 bf2d9e02d58ea01f1c239f7e2fc024cba140ccb1
Command Line Args Chrome.app/Contents/MacOS/Google Chrome -psn_0_49164 --restore-last-session --flag-switches-begin --flag-switches-end
Driver Information
Initialization time 152
In-process GPU false
Sandboxed true
GPU0 VENDOR = 0x8086, DEVICE= 0x1626 *ACTIVE*
Optimus false
AMD switchable false
Driver vendor
Driver version 10.22.29
Driver date
Pixel shader version 4.10
Vertex shader version 4.10
Max. MSAA samples 8
Machine model name MacBookAir
Machine model version 7.1
GL_VENDOR Intel Inc.
GL_RENDERER Intel(R) HD Graphics 6000
GL_VERSION 4.1 INTEL-10.22.29
GL_EXTENSIONS GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_ATI_texture_mirror_once GL_NV_texture_barrier
Disabled Extensions
Window system binding vendor
Window system binding version
Window system binding extensions
Direct rendering Yes
Reset notification strategy 0x0000
GPU process crash count 0
Compositor Information
Tile Update Mode Zero-copy
Partial Raster Enabled
GpuMemoryBuffers Status
ATC Software only
ATCIA Software only
DXT1 Software only
DXT5 Software only
ETC1 Software only
R_8 GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
RG_88 Software only
BGR_565 Software only
RGBA_4444 Software only
RGBX_8888 Software only
RGBA_8888 GPU_READ, SCANOUT
BGRX_8888 GPU_READ, SCANOUT
BGRA_8888 GPU_READ, SCANOUT, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
YVU_420 Software only
YUV_420_BIPLANAR GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
UYVY_422 GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
Log Messages
[376:775:0215/161809.768257:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161809.768388:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161809.768435:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161809.768475:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161809.768514:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161815.586163:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161815.586239:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161815.586288:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161815.586330:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161815.586385:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161821.600269:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161821.600331:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161821.600383:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161821.600512:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
[376:775:0215/161821.600587:ERROR:texture_manager.cc(2425)] : [.PPAPIContext]GL ERROR :GL_INVALID_ENUM : glTexImage2D: target was GL_TEXTURE_RECTANGLE_ARB
,
Feb 23 2017
I am able to repro this issue on http://www.zflministries.com/DataContent/HomePageWelcome.m4v. The chopping/halting is not serious, it only happen very occasionally. It is not repro on Safari though. since this is not a regression, Dale, can you decide do we want to fix it?
,
Feb 27 2017
I'm also seeing this behavior in win10 chrome 56.0.2924.87 with some videos for example this one: http://screencast-o-matic.com/watch/cbVweGQ9eF Playback will make excessive 206 calls and halts when there seems to be content already downloaded. Works fine in Firefox, IE.
,
Mar 9 2017
I can repro this issue by using link in c#10 on Chrome build 58.0.3026.3. the halting is mainly on video, audio is pretty smooth all the time. As far as I can see, halting happens on 00:10, 01:55 timestamp in Inspector=>Console, I don't see excessive calls. However, the same halting happens on Sarari, Firefox as well. I could't tell this is browser bug or a defect in video itself. ajgregory@, can you confirm if the halting you see is at the same timestamp or randomly happen?
,
Mar 9 2017
I see buffering sporadically usually the first is around 0:16 at which point 100s for 206 requests start happening on both Windows and Mac which I just updated to 57.0.2987.98. Sometimes it halts completely but most of the time it's buffering and the Network tab shows 100s of 206 requests as shown in this recording: http://screencast-o-matic.com/watch/cbeQrr6xm6 In Safari and Firefox I don't see any buffering when playing back.
,
Mar 10 2017
Able to reproduce the issue using the url from comment # 10, on Mac 10.12.3, Ubuntu 14.04 and Win 10. The video is getting halted at different time frames(0:15,0:18,0:19,0:22,...0:43 etc). 206 calls on the network tab of dev tools too observed. This is a non-regression issue since 35.0.1849.0. Halting is observed on http://sharpeyed.zflministries.com(@1:14) too. Marking this as Non-Regression and untriaged to get addressed further.
,
Mar 30 2017
Dale@, this bug is observed on Chrome. As per c#13, extensive call is observed too. However since this is also found on Safari and Firefox, I am not sure if this is actually a bug on video itself. can you take a look and resolve/assign appropriately?
,
Mar 30 2017
Presumably caching related.
,
Mar 30 2017
The HomePageWelcome.m4v video has a data track which is badly muxed. I attached a picture shows time vs location of each data packet in the file. The read line represents the unknown data stream, ideally all lines should stay together near the diagonal. There has been some improvements in how chrome handles these kind of videos recently, chrome canary doesn't seem to have a problem playing this video. The tomtom video (http://screencast-o-matic.com/watch/cbVweGQ9eF) is also badly muxed. But in this video, the audio and video track are just not even close to each other. Chrome canary may do slightly better with this video, but we would need to open two separate networks streams to actually handle this video well. Currently the http cache layer doesn't work well if we open multiple connections to the same file, so we try to avoid doing that. Currently re-muxing is the only way to make this work well with chrome. So; to summarize: re-muxing helps. The first video works well in chrome canary, the second doesn't and there is no quick way to fix it without remuxing.
,
Mar 31 2017
Thanks for taking the time to look into this. I understand better muxing will help but why doesn't it wait for more content to download instead of making all the 206 calls?
,
Mar 31 2017
Because that's not how chrome works. What you're describing assumes that we will cache everything we download, which could be arbitrarily large. (and thus we cannot guarantee it) Chrome has a fixed-size (depending on bandwidth) preload buffer, and the disk cache is best-effort, so no guarantees there either.
,
Jun 1 2017
I think there has been enough improvements to close this bug.
,
Jun 1 2017
,
Jun 17 2017
Hi. Are you saying that the issue has been fixed in a version of Chrome that has yet to be released? Thanks.
,
Jun 18 2017
It's been fixed or improved for many files, but not all. The fixes should be in the next chrome release I think. |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by hissoldi...@gmail.com
, Feb 11 2017