Skip to content
This repository has been archived by the owner on Jan 12, 2019. It is now read-only.

Some HLS playlists return MEDIA_ERR_DECODE on Chrome #1190

Closed
AleksanderSadov opened this issue Jul 11, 2017 · 14 comments
Closed

Some HLS playlists return MEDIA_ERR_DECODE on Chrome #1190

AleksanderSadov opened this issue Jul 11, 2017 · 14 comments

Comments

@AleksanderSadov
Copy link

AleksanderSadov commented Jul 11, 2017

Description

Some HLS playlists return MEDIA_ERR_DECODE on Chrome brower (Version: 59.0.3071.115). Stream works fine in other browsers like: Firefox(Version: 54), IE 11, Edge. The problem is similar to previous issue: #584

Sources

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>videojs-contrib-hls embed</title>

  <link href="https://unpkg.com/video.js@6.2.0/dist/video-js.css" rel="stylesheet">
  <script src="https://unpkg.com/video.js@6.2.0/dist/video.js"></script>
  <script src="https://unpkg.com/videojs-contrib-hls@5.8.0/dist/videojs-contrib-hls.js"></script>
  
</head>
<body>
  <h1>Video.js Example Embed</h1>

  <video id="my_video_1" class="video-js vjs-default-skin" controls preload="auto" width="640" height="268" 
  data-setup='{}'>
    <source src="http://138.68.240.201/hls/master-cctvnews.m3u8" type="application/x-mpegURL">
  </video>
  
  <script>
  </script>
  
</body>
</html>

Error output

There are 2 errors in the console after stream plays for a few seconds:

VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) The media playback was aborted due to a corruption problem or because the media used features your browser did not support.

VIDEOJS: ERROR: (CODE:-3 undefined) Failed to execute 'appendBuffer' on 'SourceBuffer': The HTMLMediaElement.error attribute is not null.

Additional Information

videojs-contrib-hls version

videojs-contrib-hls 5.8.0

videojs version

video.js 6.2.0

Browsers

Chrome 59.0.3071.115

Platforms

Ubuntu 16.04.2 LTS

Other Plugins

videojs-contrib-ads 5.0.1
videojs-contrib-media-sources 4.4.6
videojs-flash 2.0.0
videojs-chromecast 2.0.8

Other JavaScript

jQuery v2.1.4

@gesinger
Copy link
Contributor

Hey @AleksanderSadov , I see that your playlist is live. I've been running it for a while, but haven't run into the issue yet (Chrome on Mac).

I see that you're running on Linux and encountering the issue after a few seconds. Maybe that could provide a difference. Would you be able to encounter the issue again, then go to chrome://media-internals, find the relevant player, and see if there are any logs?

Thanks!

@AleksanderSadov
Copy link
Author

Hello, @gesinger

Same problem also exists on Windows 10 and Chrome 59.0.3071.115 and not only on Ubuntu 16.04.2 LTS. We have not tested it on Mac.

Here are the logs from chrome://media-internals after player crushes:

Player Properties:

render_id: 128
player_id: 175
pipeline_state: kStopped
event: PAUSE
url: blob:http://192.168.0.227/1c9cf24b-2352-4120-a7e5-4e5f2027c496
duration: 217.227387
found_video_stream: true
video_codec_name: h264
debug: FFmpegVideoDecoder: avcodec_decode_video2(): Invalid data found when processing input, at timestamp: 19203533 duration: 0 size: 45 side_data_size: 0 is_key_frame: 0 encrypted: 0 discard_padding (ms): (0, 0)
found_audio_stream: true
audio_codec_name: aac
seek_target: 18.802965
audio_dds: false
audio_decoder: FFmpegAudioDecoder
video_dds: false
video_decoder: FFmpegVideoDecoder
video_buffering_state: BUFFERING_HAVE_ENOUGH
height: 480
width: 640
audio_buffering_state: BUFFERING_HAVE_ENOUGH
pipeline_buffering_state: BUFFERING_HAVE_ENOUGH
error: video decode error
pipeline_error: PIPELINE_ERROR_DECODE

Log:

00:00:00 00 | pipeline_state | kCreated
-- | -- | --
00:00:00 00 | event | WEBMEDIAPLAYER_CREATED
00:00:00 00 | url | blob:http://192.168.0.227/1c9cf24b-2352-4120-a7e5-4e5f2027c496
00:00:00 00 | pipeline_state | kStarting
00:00:00 480 | duration | 18.802965
00:00:05 532 | found_video_stream | true
00:00:05 533 | video_codec_name | h264
00:00:05 533 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 9.60877
00:00:05 534 | found_audio_stream | true
00:00:05 534 | audio_codec_name | aac
00:00:05 536 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 10.0077
00:00:05 536 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 10.4075
00:00:05 538 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 10.8074
00:00:05 538 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 11.2069
00:00:05 538 | seek_target | 18.802965
00:00:05 539 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 11.6059
00:00:05 539 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 12.0048
00:00:05 539 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 12.4041
00:00:05 546 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 12.8036
00:00:05 546 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 13.2032
00:00:05 546 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 13.603
00:00:05 547 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 14.0031
00:00:05 548 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 14.4028
00:00:05 548 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 14.8022
00:00:05 549 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 15.2019
00:00:05 549 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 15.6017
00:00:05 550 | audio_dds | false
00:00:05 550 | audio_decoder | FFmpegAudioDecoder
00:00:05 557 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 16.0015
00:00:05 557 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 16.4019
00:00:05 557 | debug | Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 16.8028
00:00:05 558 | debug | (Log limit reached. Further similar entries may be suppressed): Detected an append sequence with keyframe following a non-keyframe, both with the same decode timestamp of 17.2031
00:00:05 558 | debug | Video rendering in low delay mode.
00:00:05 559 | video_dds | false
00:00:05 559 | video_decoder | FFmpegVideoDecoder
00:00:05 559 | pipeline_state | kPlaying
00:00:05 560 | pipeline_state | kSeeking
00:00:06 387 | pipeline_state | kPlaying
00:00:06 388 | debug | Audio buffer splice at PTS=18824671us. Trimmed tail of overlapped buffer (PTS=18813628us) by 12176us.
00:00:06 397 | video_buffering_state | BUFFERING_HAVE_ENOUGH
00:00:06 400 | height | 480
00:00:06 400 | width | 640
00:00:06 416 | audio_buffering_state | BUFFERING_HAVE_ENOUGH
00:00:06 426 | pipeline_buffering_state | BUFFERING_HAVE_ENOUGH
00:00:06 428 | event | PLAY
00:00:06 389 | duration | 28.321631
00:00:06 544 | video_buffering_state | BUFFERING_HAVE_NOTHING
00:00:06 549 | video_buffering_state | BUFFERING_HAVE_ENOUGH
00:00:06 781 | debug | FFmpegVideoDecoder: avcodec_decode_video2(): Invalid data found when processing input, at timestamp: 19203533 duration: 0 size: 45 side_data_size: 0 is_key_frame: 0 encrypted: 0 discard_padding (ms): (0, 0)
00:00:06 781 | error | video decode error
00:00:06 822 | pipeline_error | PIPELINE_ERROR_DECODE
00:00:06 826 | pipeline_state | kStopping
00:00:06 828 | pipeline_state | kStopped
00:00:06 828 | event | PAUSE
00:00:21 236 | duration | 37.726459
00:00:32 233 | duration | 46.939933
00:00:43 231 | duration | 56.724885
00:00:54 226 | duration | 66.721438
00:01:05 225 | duration | 87.12149
00:01:16 228 | duration | 96.962376
00:01:27 229 | duration | 107.298085
00:01:37 841 | duration | 117.446685
00:01:48 231 | duration | 127.439058
00:01:59 229 | duration | 137.65772
00:02:10 230 | duration | 147.440426
00:02:21 229 | duration | 157.292045
00:02:32 228 | duration | 177.199272
00:02:43 231 | duration | 187.354078
00:02:54 256 | duration | 197.089029
00:03:04 530 | duration | 207.005814
00:03:15 226 | duration | 217.227387
00:03:26 227 | duration | 227.3993
00:03:37 228 | duration | 247.193959
00:03:48 229 | duration | 257.396235
00:03:59 223 | duration | 267.196155
00:04:10 223 | duration | 277.179558
00:04:21 222 | duration | 287.245454
00:04:32 220 | duration | 297.077026
00:04:43 223 | duration | 317.484342
00:04:54 227 | duration | 327.250348
00:05:05 222 | duration | 337.07459
00:05:16 225 | duration | 347.289027

@brycefisher
Copy link

@gesinger We're seeing a very similar issue on ChromeOS since Chrome 59 but also in Chrome 60. Any thoughts or other information needed beyond what's in this issue?

@ahmadawada11
Copy link

i have the same problem any solution?

@gesinger
Copy link
Contributor

gesinger commented Sep 5, 2017

Sorry for the delay, one problem with MEDIA_ERR_DECODE errors are that they are usually stream specific. The Chrome media-internals logs can help, as those logs from the browser can sometimes have helpful information about what caused the error. Usually though, the issue is something to do with the stream or how it is segmented. The most helpful thing for us to debug these issues is to:

  1. Provide the chrome://media-internals log
  2. Provide a reproducible test case: if the stream is live, or is a long playlist, making a shorter playlist from the segments around when the error occurs can be helpful (so long as it reproduces the issue, it is much easier to determine what is happening and why the segments might cause the problem)

@lexandr
Copy link

lexandr commented Sep 26, 2017

The same problem.

Windows 10, Chrome 60.0.3112.113
Live stream - http://link11.cam2site.com:8080/cam/amlst:arena-mo/playlist.m3u8

Player properties

Property Value
debug FFmpegVideoDecoder: avcodec_decode_video2(): Invalid data found when processing input, at timestamp: 80000 duration: 0 size: 18 side_data_size: 0 is_key_frame: 0 encrypted: 0 discard_padding (ms): (0, 0)
duration 879.799999
error video decode error
found_video_stream true
origin_url http://localhost/
pipeline_error PIPELINE_ERROR_DECODE
pipeline_state kStopped
player_id 205
render_id 279
url blob:http://localhost/39fcc624-ac81-48f5-9f80-ac418058459b
video_codec_name h264
video_dds false
video_decoder FFmpegVideoDecoder

Log

Timestamp Property Value
00:00:00 00 pipeline_state kCreated
00:00:00 00 origin_url http://localhost/
00:00:00 00 url blob:http://localhost/39fcc624-ac81-48f5-9f80-ac418058459b
00:00:00 00 pipeline_state kStarting
00:00:00 253 duration 0.000001
00:00:01 619 found_video_stream true
00:00:01 619 video_codec_name h264
00:00:01 619 debug Video rendering in low delay mode.
00:00:01 622 video_dds false
00:00:01 622 video_decoder GpuVideoDecoder
00:00:01 622 pipeline_state kPlaying
00:00:01 637 video_dds false
00:00:01 637 video_decoder FFmpegVideoDecoder
00:00:01 645 debug FFmpegVideoDecoder: avcodec_decode_video2(): Invalid data found when processing input, at timestamp: 80000 duration: 0 size: 18 side_data_size: 0 is_key_frame: 0 encrypted: 0 discard_padding (ms): (0, 0)
00:00:01 645 error video decode error
00:00:01 646 pipeline_error PIPELINE_ERROR_DECODE
00:00:01 646 pipeline_state kStopping
00:00:01 646 pipeline_state kStopped
00:00:01 619 duration 0.6
00:00:11 418 duration 10.799999
00:00:22 625 duration 21.799999
00:00:33 798 duration 32.799999
00:00:45 72 duration 43.799999
00:00:56 254 duration 65.799999
00:01:07 448 duration 76.799999
00:01:18 750 duration 87.799999
00:01:29 957 duration 98.799999
00:01:41 149 duration 109.799999
00:01:52 360 duration 120.799999
00:02:03 595 duration 131.799999
00:02:14 798 duration 142.799999
00:02:26 117 duration 164.799999
00:02:37 995 duration 175.799999
00:02:49 145 duration 186.799999
00:03:00 715 duration 197.799999
00:03:11 860 duration 208.799999
00:03:23 94 duration 219.799999
00:03:34 277 duration 230.799999
00:03:45 463 duration 252.799999
00:03:56 699 duration 263.799999
00:04:07 918 duration 274.799999
00:04:19 189 duration 285.799999
00:04:30 789 duration 296.799999
00:04:42 66 duration 307.799999
00:04:53 253 duration 318.799999
00:05:04 448 duration 329.799999
00:05:15 635 duration 351.799999
00:05:26 823 duration 362.799999
00:05:38 17 duration 373.799999
00:05:49 246 duration 384.799999
00:06:00 490 duration 395.799999
00:06:11 669 duration 406.799999
00:06:23 98 duration 417.799999
00:06:34 317 duration 428.799999
00:06:45 498 duration 450.799999
00:06:56 723 duration 461.799999
00:07:07 923 duration 472.799999
00:07:19 97 duration 483.799999
00:07:30 326 duration 494.799999
00:07:41 517 duration 505.799999
00:07:52 715 duration 516.799999
00:08:03 972 duration 527.799999
00:08:15 151 duration 549.799999
00:08:26 323 duration 560.799999
00:08:37 508 duration 571.799999
00:08:48 689 duration 582.799999
00:08:59 878 duration 593.799999
00:09:11 237 duration 604.799999
00:09:22 582 duration 615.799999
00:09:33 771 duration 626.799999
00:09:44 953 duration 637.799999
00:09:56 160 duration 659.799999
00:10:07 350 duration 670.799999
00:10:18 582 duration 681.799999
00:10:29 885 duration 692.799999
00:10:41 74 duration 703.799999
00:10:52 311 duration 714.799999
00:11:03 493 duration 725.799999
00:11:14 676 duration 736.799999
00:11:25 860 duration 758.799999
00:11:37 33 duration 769.799999
00:11:48 223 duration 780.799999
00:11:59 399 duration 791.799999
00:12:10 614 duration 802.799999
00:12:21 853 duration 813.799999
00:12:33 306 duration 824.799999
00:12:44 489 duration 835.799999
00:12:55 671 duration 857.799999
00:13:06 848 duration 868.799999
00:13:18 239 duration 879.799999
00:13:29 423 duration 890.799999
00:13:40 659 duration 901.799999
00:13:51 866 duration 912.799999
00:14:03 119 duration 923.799999
00:14:14 297 duration 934.799999
00:14:25 486 duration 956.799999
00:14:36 694 duration 967.799999
00:14:47 891 duration 978.799999
00:14:59 88 duration 989.799999
00:15:10 263 duration 1000.799999

@savokiss
Copy link

Same problem, any clue ?

@anton-asnitsky
Copy link

Hi there.
I have pretty same issue.
Page with problematic video stream:
https://vod.walla.co.il/movie/2827433

Error message I've got:
VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) The media playback was aborted due to a corruption problem or because the media used features your browser did not support. MediaError {code: 3, message: "The media playback was aborted due to a corruption…media used features your browser did not support."}

VideoJs version: 6.8.0
videojs-contrib-hls version: 5.14.1

Do anyone have some advice what to do?

@shotap
Copy link

shotap commented May 10, 2018

+1

3 similar comments
@canhnm
Copy link

canhnm commented Jun 13, 2018

+1

@arslanyunus
Copy link

+1

@SuYuWei
Copy link

SuYuWei commented Jun 22, 2018

+1

@srkidd
Copy link

srkidd commented Jun 27, 2018

Im am also having this issue with just Chrome. Is there a recommended solution?

@ghost
Copy link

ghost commented Jul 2, 2018

This issue was moved by forbesjo to videojs/http-streaming#143.

@ghost ghost closed this as completed Jul 2, 2018
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests