Issue metadata
Sign in to add a comment
|
PIPELINE_ERROR_DECODE: Failed to send audio packet for decoding
Reported by
liuhao...@gmail.com,
Mar 8 2018
|
||||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36 Example URL: Steps to reproduce the problem: 1. Open link https://www.bilibili.com/bangumi/play/ep173184 2. Select 1080p quality and open developer tools(console) 3. Run below js code in console ``` var videoElement = $('video')[0]; // $ is jQuery lib name. videoElement.onerror = e => console.log(videoElement.error.message) ``` 4. Seek to 17:30, then let video playing to ~17:36 5. look errors and message in console What is the expected behavior? the video can be play to ended. What went wrong? the video ended at ~17:36 Did this work before? Yes Chrome 49 (maybe not latest) Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? Yes Chrome version: 65.0.3325.146 Channel: stable OS Version: 10.0 Flash Version: Contents of chrome://gpu: Graphics Feature Status Canvas: Hardware accelerated CheckerImaging: Disabled 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: Hardware accelerated Video Decode: Hardware accelerated WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds clear_uniforms_before_first_program_use decode_encode_srgb_for_generatemipmap disable_accelerated_vpx_decode disable_discard_framebuffer disable_framebuffer_cmaa disable_larger_than_screen_overlays exit_on_context_lost force_cube_complete msaa_is_slow scalarize_vec_and_mat_constructor_args texsubimage_faster_than_teximage Problems Detected Some drivers are unable to reset the D3D device in the GPU process sandbox Applied Workarounds: exit_on_context_lost TexSubImage is faster for full uploads on ANGLE Applied Workarounds: texsubimage_faster_than_teximage 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 ANGLE crash on glReadPixels from incomplete cube map texture: 518889 Applied Workarounds: force_cube_complete On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565 Applied Workarounds: msaa_is_slow Framebuffer discarding can hurt performance on non-tilers: 570897 Applied Workarounds: disable_discard_framebuffer Use GL_INTEL_framebuffer_CMAA on ChromeOS: 535198 Applied Workarounds: disable_framebuffer_cmaa Disable KHR_blend_equation_advanced until cc shaders are updated: 661715 Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent) Decode and Encode before generateMipmap for srgb format textures on Windows: 634519 Applied Workarounds: decode_encode_srgb_for_generatemipmap Accelerated VPx decoding is hanging on some videos.: 654111 Applied Workarounds: disable_accelerated_vpx_decode Overlay sizes bigger than screen aren't accelerated on some Intel drivers: 720059 Applied Workarounds: disable_larger_than_screen_overlays Don't expose disjoint_timer_query extensions to WebGL: 808744 Native GpuMemoryBuffers have been disabled, either via about:flags or command line. Disabled Features: native_gpu_memory_buffers Checker-imaging has been disabled via finch trial or the command line. Disabled Features: checker_imaging Version Information Data exported 2018-03-08T11:24:11.776Z Chrome version Chrome/65.0.3325.146 Operating system Windows NT 10.0.16299 Software rendering list URL https://chromium.googlesource.com/chromium/src/+/f926414266f7aecb5ec1bf1b5f93f8716976ceef/gpu/config/software_rendering_list.json Driver bug list URL https://chromium.googlesource.com/chromium/src/+/f926414266f7aecb5ec1bf1b5f93f8716976ceef/gpu/config/gpu_driver_bug_list.json ANGLE commit id 2c9cc8b6e810 2D graphics backend Skia/65 bd0dafbc8112f6cfa92a8096d8cb5696d8535ef9- Command Line "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end Driver Information Initialization time 129 In-process GPU false Passthrough Command Decoder false Direct Composition true Supports overlays false Sandboxed false GPU0 VENDOR = 0x8086, DEVICE= 0x0412 *ACTIVE* Optimus false Optimus false AMD switchable false Desktop compositing Aero Glass Diagonal Monitor Size of \\.\DISPLAY2 23.5" Diagonal Monitor Size of \\.\DISPLAY1 23.5" Driver vendor Intel Corporation Driver version 20.19.15.4835 Driver date 10-16-2017 Pixel shader version 5.0 Vertex shader version 5.0 Max. MSAA samples 8 Machine model name Machine model version GL_VENDOR Google Inc. GL_RENDERER ANGLE (Intel(R) HD Graphics 4600 Direct3D11 vs_5_0 ps_5_0) GL_VERSION OpenGL ES 2.0 (ANGLE 2.1.0.2c9cc8b6e810) GL_EXTENSIONS GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent Disabled WebGL Extensions EXT_disjoint_timer_query EXT_disjoint_timer_query_webgl2 Window system binding vendor Google Inc. (adapter LUID: 0000000000007dc2) Window system binding version 1.4 (ANGLE 2.1.0.2c9cc8b6e810) Window system binding extensions EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_stream_producer_d3d_texture EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization Direct rendering Yes Reset notification strategy 0x8252 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 R_16 Software only RG_88 Software only BGR_565 Software only RGBA_4444 Software only RGBX_8888 GPU_READ, SCANOUT RGBA_8888 GPU_READ, SCANOUT BGRX_8888 Software only BGRX_1010102 Software only BGRA_8888 Software only RGBA_F16 Software only YVU_420 Software only YUV_420_BIPLANAR Software only UYVY_422 Software only Display(s) Information Info Display[2528732444] bounds=1920,0 1920x1080, workarea=1920,0 1920x1040, scale=1, external Color space information {primaries:[[0.4355,0.3885,0.1402,],[0.2217,0.7220,0.0563,],[0.0135,0.0879,0.7235,],], transfer:0.0835*x + 0.0000 if x < 0.0431 else (0.9479*x + 0.0550)**2.3998 + 0.0000, matrix:RGB, range:FULL} Bits per color component 8 Bits per pixel 24 Info Display[2779098405] bounds=0,0 1920x1080, workarea=0,0 1920x1040, scale=1, external Color space information {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL} Bits per color component 8 Bits per pixel 24 Video Acceleration Information Decode h264 baseline up to 4096x2304 pixels Decode h264 main up to 4096x2304 pixels Decode h264 high up to 4096x2304 pixels Encode h264 baseline up to 3840x2176 pixels and/or 30.000 fps Encode h264 main up to 3840x2176 pixels and/or 30.000 fps Encode h264 high up to 3840x2176 pixels and/or 30.000 fps Diagnostics ... loading ... error logs in chrome://media-internals/ 00:00:00 863 height 1080 00:00:00 863 width 1920 00:00:00 869 video_buffering_state BUFFERING_HAVE_ENOUGH 00:00:00 869 pipeline_buffering_state BUFFERING_HAVE_ENOUGH 00:00:00 371 duration 1350.055 00:00:15 872 pipeline_state kSuspending 00:00:15 872 pipeline_state kSuspended ---- I can reproduce this issue on Chrome 67.0.3364.0 (Official Build) canary (64-bit) (cohort: Clang-64). It works fine on Chrome 49, Firefox 58.0.2 and MSEdge 41.16299.15.0. --- Additional Infos: The video use flv.js to transform .flv to .mp4. GitHub project: https://github.com/Bilibili/flv.js
,
Mar 9 2018
Sorry, I haven't a non-geo blocked link. You can try install `Unblock Youku` chrome extension, then open above link. You should use a Chinese proxy server if `Unblock Youku` chrome extension didn't work. audio_codec_name: aac ---- logs of chrome://media-internals/ render_id: 42 player_id: 4 origin_url: https://www.bilibili.com/ frame_url: https://www.bilibili.com/bangumi/play/ep173184 frame_title: 龙王的工作!:第4话_番剧_bilibili_哔哩哔哩 url: blob:https://www.bilibili.com/a629aa44-0e13-4070-b370-471d3a1d4225 info: Selected GpuVideoDecoder for video decoding, config: codec: h264 format: 1 profile: h264 high coded size: [1920,1080] visible rect: [0,0,1920,1080] natural size: [1920,1080] has extra data? false encrypted? false rotation: 0° pipeline_state: kStopped found_video_stream: true video_codec_name: h264 found_audio_stream: true audio_codec_name: aac seek_target: 1058.591788 audio_dds: false audio_decoder: FFmpegAudioDecoder video_dds: false video_decoder: GpuVideoDecoder audio_buffering_state: BUFFERING_HAVE_ENOUGH height: 1080 width: 1920 video_buffering_state: BUFFERING_HAVE_ENOUGH pipeline_buffering_state: BUFFERING_HAVE_ENOUGH duration: 1350.055 event: WEBMEDIAPLAYER_DESTROYED Timestamp Property Value 00:00:00 00 origin_url https://www.bilibili.com/ 00:00:00 00 frame_url https://www.bilibili.com/bangumi/play/ep173184 00:00:00 00 frame_title 龙王的工作!:第4话_番剧_bilibili_哔哩哔哩 00:00:00 00 url blob:https://www.bilibili.com/a629aa44-0e13-4070-b370-471d3a1d4225 00:00:00 00 info ChunkDemuxer: buffering by DTS 00:00:00 00 pipeline_state kStarting 00:00:00 149 found_video_stream true 00:00:00 149 video_codec_name h264 00:00:00 149 found_audio_stream true 00:00:00 149 audio_codec_name aac 00:00:00 149 seek_target 1055.591788 00:00:00 151 audio_dds false 00:00:00 151 audio_decoder FFmpegAudioDecoder 00:00:00 151 info Selected FFmpegAudioDecoder for audio decoding, config: codec: aac bytes_per_channel: 2 channel_layout: 3 channels: 2 samples_per_second: 44100 sample_format: 2 bytes_per_frame: 4 seek_preroll: 0ms codec_delay: 0 has extra data? false encrypted? false discard decoder delay? false 00:00:00 151 seek_target 1058.591788 00:00:00 153 video_dds false 00:00:00 153 video_decoder GpuVideoDecoder 00:00:00 153 info Selected GpuVideoDecoder for video decoding, config: codec: h264 format: 1 profile: h264 high coded size: [1920,1080] visible rect: [0,0,1920,1080] natural size: [1920,1080] has extra data? false encrypted? false rotation: 0° 00:00:00 153 pipeline_state kPlaying 00:00:00 153 pipeline_state kSeeking 00:00:00 280 seek_target 1058.591788 00:00:00 281 pipeline_state kPlaying 00:00:00 282 pipeline_state kSeeking 00:00:00 580 pipeline_state kPlaying 00:00:00 581 audio_buffering_state BUFFERING_HAVE_ENOUGH 00:00:00 782 height 1080 00:00:00 782 width 1920 00:00:00 788 video_buffering_state BUFFERING_HAVE_ENOUGH 00:00:00 788 pipeline_buffering_state BUFFERING_HAVE_ENOUGH 00:00:00 149 duration 1350.055 00:00:16 481 pipeline_state kSuspending 00:00:16 482 pipeline_state kSuspended 00:02:56 700 pipeline_state kStopping 00:02:56 700 pipeline_state kStopped 00:02:56 700 event WEBMEDIAPLAYER_DESTROYED
,
Mar 9 2018
,
Mar 9 2018
liuhao.me@ Thanks for the issue. Tested this issue on Mac OS 10.12.6, Windows 10 and Ubuntu 14.04 on the latest Canary 67.0.3366.0 and Stable 65.0.3325.146 and able to reproduce the issue by following the steps mentioned in the original comment. Bisect Information: =================== Good Build: 64.0.3257.0 (Revision - 513642) Bad Build : 64.0.3258.0 (Revision - 513994) On executing the per-revision bisect script, below is the Changelog URL: https://chromium.googlesource.com/chromium/src/+log/7642e1c5fc5715dc1894eaf828ef85ae0a5d1fb7..9f57237995f7921b4dcd8855f1f6fe98874218d2 From the above Changelog, suspecting the below change: Reviewed-on: https://chromium-review.googlesource.com/738626 dalecurtis@ Please check and confirm if this issue is related to your change, else help us in assigning to the right owner. Thanks.
,
Mar 9 2018
Yes, it is definitely my change, but without access to the stream I can't tell if it's due to a bad encoding or not. liuhao.me@ do you have access to the raw streams? If so you can try checking them with ffmpeg -i <file> -f wav -vn -y /dev/null to see if there are any errors spit out from the converted stream.
,
Mar 12 2018
warns and errors:
---
[wav @ 0000000004bb1980] Non-monotonous DTS in output stream 0:0; previous: 18297847, current: 18297840; changing to 18297847. This may result in incorrect timestamps in the output file.
[aac @ 0000000005320900] Number of bands (41) exceeds limit (37).x
Error while decoding stream #0:1: Invalid data found when processing input
logs
---
PS D:\Packages\ffmpeg\bin> .\ffmpeg.exe -i .\ep173184.flv -f wav -vn -y .\audio.mp4
ffmpeg version 3.3.2 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.1.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 58.100 / 55. 58.100
libavcodec 57. 89.100 / 57. 89.100
libavformat 57. 71.100 / 57. 71.100
libavdevice 57. 6.100 / 57. 6.100
libavfilter 6. 82.100 / 6. 82.100
libswscale 4. 6.100 / 4. 6.100
libswresample 2. 7.100 / 2. 7.100
libpostproc 54. 5.100 / 54. 5.100
Input #0, flv, from '.\ep173184.flv':
Metadata:
description : Packed by Bilibili XCoder (Bilibili XCode Worker v4.1.0)(fixed_gap:False)
metadatacreator : Yet Another Metadata Injector for FLV - Version 1.9
hasKeyframes : false
hasVideo : true
hasAudio : true
hasMetadata : true
canSeekToEnd : false
datasize : 112845844
videosize : 103332797
audiosize : 9401727
lasttimestamp : 415
lastkeyframetimestamp: 409
lastkeyframelocation: 110591964
Duration: 00:22:30.06, start: 0.000000, bitrate: 1948 kb/s
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 1990 kb/s, 24 fps, 24 tbr, 1k tbn, 48 tbc
Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 177 kb/s
Stream mapping:
Stream #0:1 -> #0:0 (aac (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to '.\audio.mp4':
Metadata:
description : Packed by Bilibili XCoder (Bilibili XCode Worker v4.1.0)(fixed_gap:False)
metadatacreator : Yet Another Metadata Injector for FLV - Version 1.9
hasKeyframes : false
hasVideo : true
hasAudio : true
hasMetadata : true
canSeekToEnd : false
datasize : 112845844
videosize : 103332797
audiosize : 9401727
lasttimestamp : 415
lastkeyframetimestamp: 409
lastkeyframelocation: 110591964
ISFT : Lavf57.71.100
Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
Metadata:
encoder : Lavc57.89.100 pcm_s16le
[wav @ 0000000004bb1980] Non-monotonous DTS in output stream 0:0; previous: 18297847, current: 18297840; changing to 18297847. This may result in incorrect timestamps in the output file.
[aac @ 0000000005320900] Number of bands (41) exceeds limit (37).x
Error while decoding stream #0:1: Invalid data found when processing input
size= 232580kB time=00:22:30.07 bitrate=1411.2kbits/s speed= 689x
video:0kB audio:232580kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000033%
,
Mar 12 2018
The error "[aac @ 0000000005320900] Number of bands (41) exceeds limit (37)." is the cause of failures. Re-encoding the audio stream should fix the errors. It's also technically possible to replace the bad packet with a silent AAC packet as well, to do that you'll have to encode a silent AAC packet into adts at the same sample rate, demux the bad file into ADTS, identify the bad packet and then replace it with your silent packet. Then remux it all back with the video stream into the appropriate container.
,
Mar 21 2018
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by dalecur...@chromium.org
, Mar 8 2018