我们在我们的网站上运行冲浪相机流,在我们的网页上通过JWPlayer的最新版本(5.4)进行播放。
最近我们切换到另一个流媒体服务和H.264流,因为我们计划在不久的将来流式传输到iOS设备,但是这会在客户端引入一个用户无法接收视觉的错误(他们只看到通常看到视频的黑屏。
我们发现禁用硬件加速(Flash Player 10.1+中引入)可以解决这个问题,并且考虑到发生这种问题的环境,我会打赌这与特定的显卡及其驱动程序有关。 ,以及他们如何处理视觉解码等。
我们发现的与禁用硬件加速相关的文档仅表明可以通过wmode
参数完成此操作,即将其设置为wmode="opaque"
或wmode="transparent"
但是这不是似乎在所有情况下都有效(大部分问题已不复存在)但是我们仍然看到有30%的用户遇到此问题。
我们可以要求用户自己禁用硬件加速,我们已经提供了如何执行此操作的详细信息,但对我来说这只是一个临时修复,我很好奇是否有更永久的东西我们可以投入,直到Adobe修复此问题?
答案 0 :(得分:6)
所以,我找到了解决问题的方法 - 虽然它有两个部分。
首先:设置wmode="opaque"
或wmode="transparent"
会禁用硬件加速 - 遗憾的是,我们遇到的问题涉及更多,详情如下。
其次:我们继续遇到的问题与我们发送的流类型有关。我们的溪流就是你从海滩或雪地等地看到的那种(又名雪卡,冲浪板) - 当然,海滩的声音或山上的风声非常无聊,所以我们不会在饲料中发送音频。 / p>
事实证明这个是导致问题的原因。 H.264解码失败,主要是在Mac上,但如果没有发送音频数据,或多或少都会在任何10.1播放器上。对此的解决方案很简单 - 启用音频通道0dB(或任何静音)和 bam 流再次开始运行。
这不是一个最佳解决方案,因为它为我们的流增加了16k的开销,我们宁愿将其提升到更高质量的视觉。我已经向Adobe提出了一张票,FP-6085,所以希望这将在未来的版本中得到解决。或者“HTML5”流媒体将在所有浏览器中成为现实。
答案 1 :(得分:0)
这也发生在我们的网站上。
我们已经能够在我们控制的计算机上避免此问题,但我们无法在用户计算机上解决此问题。
这似乎只发生在Mac / Chrome上。
这是我的盒子规格。
Chrome版本 chrome://版本
Google Chrome 20.0.1132.57(官方版本145807) OS Mac OS X. WebKit 536.11(@ 122148) JavaScript V8 3.10.8.20 Flash 11.3.300.265 用户代理Mozilla / 5.0(Macintosh; Intel Mac OS X 10_7_4)AppleWebKit / 536.11(KHTML,与Gecko一样)Chrome / 20.0.1132.57 Safari / 536.11 命令行/应用程序/谷歌Chrome.app/Contents/MacOS/Google Chrome -psn_0_5944747 --flag-switches-begin --disable-gpu-vsync --enable-sync-tabs --flag-switches-end
关于Flash chrome:// flash
Google Chrome 20.0.1132.57()
OS Mac OS X
Flash插件11.3.300.265 / Applications / Google Chrome.app/Contents/Versions/20.0.1132.57/Google Chrome Framework.framework / Internet插件/适用于Chrome.plugin的Flash Player插件
Flash插件11.3.300.265 / Library / Internet Plug-Ins / Flash Player.plugin(未使用)
---崩溃数据---
崩溃报告启用崩溃报告以查看崩溃ID
有关详细信息https://support.google.com/chrome/?p=ui_usagestat
--- GPU信息---
--- GPU驱动程序,更多信息---
供应商ID 0x1002
设备ID 0x6740
司机供应商
驱动程序版本7.18.18
司机日期 像素着色器版本1.20
顶点着色器版本1.20
GL版本2.1
GL_VENDOR ATI Technologies Inc.
GL_RENDERER ATI Radeon HD 6770M OpenGL引擎
GL_VERSION 2.1 ATI-7.18.18
GL_EXTENSIONS GL_ARB_color_buffer_float GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_imaging GL_ARB_instanced_arrays GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of _TWO GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_bindable_uniform GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_EXT_te xture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_rectangle GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_APPLE_aux_depth_stencil GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels GL_APPLE_flush_buffer_range GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_APPLE_pixel_buffer GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_specular_vector GL_APPLE_texture_range GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range GL_APPLE_vertex_point_size GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ATI_blend_equation_separate GL_ATI_blend_weighted_minmax GL_ATI_separate_stencil GL_ATI_texture_compression_3dc GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_NV_blend_s quare GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fog_distance GL_NV_light_max_exponent GL_NV_texgen_reflection GL_SGI_color_matrix GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod