Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some avc1.640028 videos not playing in chrome #7062

Open
ciaksoy opened this issue Mar 5, 2025 · 2 comments
Open

Some avc1.640028 videos not playing in chrome #7062

ciaksoy opened this issue Mar 5, 2025 · 2 comments
Labels
Need sample stream Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. Question

Comments

@ciaksoy
Copy link

ciaksoy commented Mar 5, 2025

What do you want to do with Hls.js?

In some videos the avc1.640028 codec does not play chrome. But firefox plays it smoothly.

It doesn't show any errors in the logs, but the video won't play and minutes later it starts playing the audio.

Below is the ffprobe information of the video

{
    "programs": [
        {
            "program_id": 1,
            "program_num": 1,
            "nb_streams": 2,
            "pmt_pid": 4096,
            "pcr_pid": 256,
            "tags": {
                "service_name": "Service01",
                "service_provider": "FFmpeg"
            },
            "streams": [
                {
                    "index": 0,
                    "codec_name": "h264",
                    "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
                    "profile": "High",
                    "codec_type": "video",
                    "codec_tag_string": "[27][0][0][0]",
                    "codec_tag": "0x001b",
                    "width": 1920,
                    "height": 1080,
                    "coded_width": 1920,
                    "coded_height": 1080,
                    "closed_captions": 0,
                    "film_grain": 0,
                    "has_b_frames": 1,
                    "sample_aspect_ratio": "1:1",
                    "display_aspect_ratio": "16:9",
                    "pix_fmt": "yuv420p",
                    "level": 40,
                    "color_range": "tv",
                    "color_space": "bt709",
                    "color_transfer": "bt709",
                    "color_primaries": "bt709",
                    "chroma_location": "left",
                    "field_order": "tt",
                    "refs": 1,
                    "is_avc": "false",
                    "nal_length_size": "0",
                    "ts_id": "1",
                    "ts_packetsize": "188",
                    "id": "0x100",
                    "r_frame_rate": "25/1",
                    "avg_frame_rate": "25/1",
                    "time_base": "1/90000",
                    "start_pts": 136800,
                    "start_time": "1.520000",
                    "duration_ts": 2703600,
                    "duration": "30.040000",
                    "bits_per_raw_sample": "8",
                    "extradata_size": 91,
                    "disposition": {
                        "default": 0,
                        "dub": 0,
                        "original": 0,
                        "comment": 0,
                        "lyrics": 0,
                        "karaoke": 0,
                        "forced": 0,
                        "hearing_impaired": 0,
                        "visual_impaired": 0,
                        "clean_effects": 0,
                        "attached_pic": 0,
                        "timed_thumbnails": 0,
                        "non_diegetic": 0,
                        "captions": 0,
                        "descriptions": 0,
                        "metadata": 0,
                        "dependent": 0,
                        "still_image": 0,
                        "multilayer": 0
                    }
                },
                {
                    "index": 1,
                    "codec_name": "mp2",
                    "codec_long_name": "MP2 (MPEG audio layer 2)",
                    "codec_type": "audio",
                    "codec_tag_string": "[3][0][0][0]",
                    "codec_tag": "0x0003",
                    "sample_fmt": "fltp",
                    "sample_rate": "48000",
                    "channels": 2,
                    "channel_layout": "stereo",
                    "bits_per_sample": 0,
                    "initial_padding": 0,
                    "ts_id": "1",
                    "ts_packetsize": "188",
                    "id": "0x101",
                    "r_frame_rate": "0/0",
                    "avg_frame_rate": "0/0",
                    "time_base": "1/90000",
                    "start_pts": 127492,
                    "start_time": "1.416578",
                    "duration_ts": 2697840,
                    "duration": "29.976000",
                    "bit_rate": "256000",
                    "disposition": {
                        "default": 0,
                        "dub": 0,
                        "original": 0,
                        "comment": 0,
                        "lyrics": 0,
                        "karaoke": 0,
                        "forced": 0,
                        "hearing_impaired": 0,
                        "visual_impaired": 0,
                        "clean_effects": 0,
                        "attached_pic": 0,
                        "timed_thumbnails": 0,
                        "non_diegetic": 0,
                        "captions": 0,
                        "descriptions": 0,
                        "metadata": 0,
                        "dependent": 0,
                        "still_image": 0,
                        "multilayer": 0
                    }
                }
            ]
        }
    ],
    "streams": [
        {
            "index": 0,
            "codec_name": "h264",
            "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "profile": "High",
            "codec_type": "video",
            "codec_tag_string": "[27][0][0][0]",
            "codec_tag": "0x001b",
            "width": 1920,
            "height": 1080,
            "coded_width": 1920,
            "coded_height": 1080,
            "closed_captions": 0,
            "film_grain": 0,
            "has_b_frames": 1,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "16:9",
            "pix_fmt": "yuv420p",
            "level": 40,
            "color_range": "tv",
            "color_space": "bt709",
            "color_transfer": "bt709",
            "color_primaries": "bt709",
            "chroma_location": "left",
            "field_order": "tt",
            "refs": 1,
            "is_avc": "false",
            "nal_length_size": "0",
            "ts_id": "1",
            "ts_packetsize": "188",
            "id": "0x100",
            "r_frame_rate": "25/1",
            "avg_frame_rate": "25/1",
            "time_base": "1/90000",
            "start_pts": 136800,
            "start_time": "1.520000",
            "duration_ts": 2703600,
            "duration": "30.040000",
            "bits_per_raw_sample": "8",
            "extradata_size": 91,
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0,
                "non_diegetic": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0,
                "multilayer": 0
            }
        },
        {
            "index": 1,
            "codec_name": "mp2",
            "codec_long_name": "MP2 (MPEG audio layer 2)",
            "codec_type": "audio",
            "codec_tag_string": "[3][0][0][0]",
            "codec_tag": "0x0003",
            "sample_fmt": "fltp",
            "sample_rate": "48000",
            "channels": 2,
            "channel_layout": "stereo",
            "bits_per_sample": 0,
            "initial_padding": 0,
            "ts_id": "1",
            "ts_packetsize": "188",
            "id": "0x101",
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/90000",
            "start_pts": 127492,
            "start_time": "1.416578",
            "duration_ts": 2697840,
            "duration": "29.976000",
            "bit_rate": "256000",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0,
                "non_diegetic": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0,
                "multilayer": 0
            }
        }
    ],
    "chapters": [

    ],
    "format": {
        "filename": ".\\notworking.ts",
        "nb_streams": 2,
        "nb_programs": 1,
        "nb_stream_groups": 0,
        "format_name": "mpegts",
        "format_long_name": "MPEG-TS (MPEG-2 Transport Stream)",
        "start_time": "1.416578",
        "duration": "30.143422",
        "size": "24900600",
        "bit_rate": "6608566",
        "probe_score": 50
    }
}

What have you tried so far?

I have tried many settings but no positive results

@ciaksoy ciaksoy added Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. Question labels Mar 5, 2025
@ciaksoy
Copy link
Author

ciaksoy commented Mar 5, 2025

Logs

[log] > Debug logs enabled for "Hls instance" in hls.js version 1.6.0-beta.4
LiveVideo.tsx:160 [log] > attachMedia
LiveVideo.tsx:160 [log] > [buffer-controller]: created media source: MediaSource
buffer-controller.ts:1484 [log] > [buffer-controller]: Media source opened
LiveVideo.tsx:163 [log] > stopLoad
LiveVideo.tsx:163 [log] > loadSource:http://localhost/test.m3u8
LiveVideo.tsx:163 [log] > [stream-controller]: Trigger BUFFER_RESET
buffer-controller.ts:1325 [log] > [buffer-controller]: checkPendingTracks (pending: 0 codec events expected: 0) {}
level-controller.ts:348 [log] > [level-controller]: manifest loaded, 1 level(s) found, first bitrate: 0
buffer-controller.ts:264 [log] > [buffer-controller]: 1 bufferCodec event(s) expected.
playlist-loader.ts:405 [log] > auto startLoad with configured startPosition -1
hls.ts:552 [log] > startLoad(-1)
level-controller.ts:441 [log] > [level-controller]: Switching to level 0 (SDR @0) from level -1
base-playlist-controller.ts:322 [log] > [level-controller]: reload live playlist 0bps in 10136 ms
base-stream-controller.ts:2048 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:2048 [log] > [subtitle-stream-controller]: STOPPED->IDLE
base-playlist-controller.ts:192 [log] > [level-controller]: live playlist 0 REFRESHED 1115--1
base-playlist-controller.ts:322 [log] > [level-controller]: reload live playlist 0bps in 21136 ms
stream-controller.ts:668 [log] > [stream-controller]: Level 0 loaded [1110,1115][part-1115--1], cc [0, 0] duration:59.60000000000001
base-stream-controller.ts:1626 [log] > [stream-controller]: Live playlist sliding: 0.00 start-sn: 1110->1110 fragments: 6
interstitials-controller.ts:1039 [log] > [interstitials]: setSchedulePosition 0, undefined
interstitials-controller.ts:1792 [log] > [interstitials]: buffered to boundary [primary: 0.00-Infinity]
interstitials-controller.ts:1275 [log] > [interstitials]: resuming [primary: 0.00-Infinity]
hls.ts:552 [log] > startLoad(26.602899902343758)
base-playlist-controller.ts:322 [log] > [level-controller]: reload live playlist 0bps in 21135 ms
base-stream-controller.ts:2048 [log] > [stream-controller]: IDLE->STOPPED
base-stream-controller.ts:2048 [log] > [stream-controller]: STOPPED->IDLE
base-stream-controller.ts:940 [log] > [stream-controller]: Loading main sn: 1112 of level 0 (frag:[19.920-29.160]) cc: 0 [1110-1115], target: 26.603
base-stream-controller.ts:2048 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2048 [log] > [subtitle-stream-controller]: IDLE->STOPPED
base-stream-controller.ts:2048 [log] > [subtitle-stream-controller]: STOPPED->IDLE
buffer-controller.ts:1302 [log] > [buffer-controller]: Updating MediaSource duration to 59.600
transmuxer-interface.ts:238 [log] > [transmuxer-interface]: Starting new transmux session for main sn: 1112 level: 0 id: 1
        discontinuity: true
        trackSwitch: true
        contiguous: false
        accurateTimeOffset: false
        timeOffset: 19.92
        initSegmentChange: true
mp4-remuxer.ts:119 [log] > [mp4-remuxer]: ISGenerated flag reset
mp4-remuxer.ts:108 [log] > [mp4-remuxer]: initPTS & initDTS reset
mp4-remuxer.ts:113 [log] > [mp4-remuxer]: reset next timestamp
base-stream-controller.ts:2048 [log] > [stream-controller]: FRAG_LOADING->PARSING
stream-controller.ts:1422 [log] > [stream-controller]: Init audio buffer, container:audio/mpeg, codecs[selected/level/parsed]=[//]
stream-controller.ts:1451 [log] > [stream-controller]: Init video buffer, container:video/mp4, codecs[level/parsed]=[/avc1.640028}]
buffer-controller.ts:588 [log] > [buffer-controller]: BUFFER_CODECS: "audio,video" (current SB count 0)
buffer-controller.ts:1325 [log] > [buffer-controller]: checkPendingTracks (pending: 2 codec events expected: 1) {"audio":{"listeners":[],"codec":"","container":"audio/mpeg","levelCodec":"","metadata":{"channelCount":2},"id":"main"},"video":{"listeners":[],"codec":"avc1.640028","container":"video/mp4","metadata":{"width":1920,"height":1080},"id":"main"}}
buffer-controller.ts:1393 [log] > [buffer-controller]: creating sourceBuffer(audio/mpeg;codecs=) {"listeners":[],"codec":"","container":"audio/mpeg","levelCodec":"","metadata":{"channelCount":2},"id":"main"}
buffer-controller.ts:1393 [log] > [buffer-controller]: creating sourceBuffer(video/mp4;codecs=avc1.640028) {"listeners":[],"codec":"avc1.640028","container":"video/mp4","metadata":{"width":1920,"height":1080},"id":"main"}
buffer-controller.ts:1362 [log] > [buffer-controller]: SourceBuffers created. Running queue: 
video: (SourceBuffer) 
audio: (SourceBuffer) 
audiovideo: (none) }
audio-stream-controller.ts:153 [log] > [audio-stream-controller]: InitPTS for cc: 0 found from main: 999059572/90000
buffer-controller.ts:833 [log] > [buffer-controller]: Updating audio SourceBuffer timestampOffset to 19.92 (delta: 19.92) sn: 1112)
base-stream-controller.ts:552 [log] > [stream-controller]: Loaded main sn: 1112 of level 0
transmuxer.ts:292 [log] > [transmuxer.ts]: Flushed main sn: 1112 of level 0
base-stream-controller.ts:2048 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:1995 [log] > [stream-controller]: Parsed main sn: 1112 of level 0 (frag:[19.920-29.298])
base-stream-controller.ts:748 [log] > [stream-controller]: Buffered main sn: 1112 of level 0 (frag:[19.920-29.298] > buffer:)
base-stream-controller.ts:2048 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:940 [log] > [stream-controller]: Loading main sn: 1113 of level 0 (frag:[29.280-39.760]) cc: 0 [1110-1115], target: 29.28
base-stream-controller.ts:2048 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2048 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:552 [log] > [stream-controller]: Loaded main sn: 1113 of level 0
transmuxer.ts:292 [log] > [transmuxer.ts]: Flushed main sn: 1113 of level 0
base-stream-controller.ts:2048 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:1995 [log] > [stream-controller]: Parsed main sn: 1113 of level 0 (frag:[29.280-39.858])
base-stream-controller.ts:748 [log] > [stream-controller]: Buffered main sn: 1113 of level 0 (frag:[29.280-39.858] > buffer:)
base-stream-controller.ts:2048 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:940 [log] > [stream-controller]: Loading main sn: 1114 of level 0 (frag:[39.840-49.320]) cc: 0 [1110-1115], target: 39.84
base-stream-controller.ts:2048 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2048 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:552 [log] > [stream-controller]: Loaded main sn: 1114 of level 0
transmuxer.ts:292 [log] > [transmuxer.ts]: Flushed main sn: 1114 of level 0
base-stream-controller.ts:2048 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:1995 [log] > [stream-controller]: Parsed main sn: 1114 of level 0 (frag:[39.840-49.458])
base-stream-controller.ts:748 [log] > [stream-controller]: Buffered main sn: 1114 of level 0 (frag:[39.840-49.458] > buffer:)
base-stream-controller.ts:2048 [log] > [stream-controller]: PARSED->IDLE
base-stream-controller.ts:940 [log] > [stream-controller]: Loading main sn: 1115 of level 0 (frag:[49.440-59.920]) cc: 0 [1110-1115], target: 49.44
base-stream-controller.ts:2048 [log] > [stream-controller]: IDLE->FRAG_LOADING
base-stream-controller.ts:2048 [log] > [stream-controller]: FRAG_LOADING->PARSING
base-stream-controller.ts:552 [log] > [stream-controller]: Loaded main sn: 1115 of level 0
transmuxer.ts:292 [log] > [transmuxer.ts]: Flushed main sn: 1115 of level 0
base-stream-controller.ts:2048 [log] > [stream-controller]: PARSING->PARSED
base-stream-controller.ts:1995 [log] > [stream-controller]: Parsed main sn: 1115 of level 0 (frag:[49.440-60.018])
base-stream-controller.ts:748 [log] > [stream-controller]: Buffered main sn: 1115 of level 0 (frag:[49.440-60.018] > buffer:)
base-stream-controller.ts:2048 [log] > [stream-controller]: PARSED->IDLE

@robwalch
Copy link
Collaborator

robwalch commented Mar 5, 2025

Can you share the HLS asset used to reproduce this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Need sample stream Needs Triage If there is a suspected stream issue, apply this label to triage if it is something we should fix. Question
Projects
None yet
Development

No branches or pull requests

2 participants