cisco / openh264

Open Source H.264 Codec
BSD 2-Clause "Simplified" License
5.57k stars 1.8k forks source link

Error decoding MPEG-TS stream (Firefox doesn't play learning materials) #3808

Open abitrolly opened 1 day ago

abitrolly commented 1 day ago

Attached is the archive with the video that ffplay and vlc (and Firefox) are unable to play with this codec.

sc-Intel.zip

$ ffplay sc-Intel-C1-L000000.ts 
...
[libopenh264 @ 0x7f75100078c0] [OpenH264] this = 0x0x7f751003c2e0, Warning:ParseSps(): frame_mbs_only_flag (0) not supported.
[libopenh264 @ 0x7f75100078c0] DecodeFrame failed
    Last message repeated 47 times
[libopenh264 @ 0x7f75100078c0] [OpenH264] this = 0x0x7f751003c2e0, Warning:ParseSps(): frame_mbs_only_flag (0) not supported.
[libopenh264 @ 0x7f75100078c0] DecodeFrame failed
    Last message repeated 47 times
[libopenh264 @ 0x7f75100078c0] [OpenH264] this = 0x0x7f751003c2e0, Warning:ParseSps(): frame_mbs_only_flag (0) not supported.
[libopenh264 @ 0x7f75100078c0] DecodeFrame failed
    Last message repeated 47 times
[libopenh264 @ 0x7f75100078c0] [OpenH264] this = 0x0x7f751003c2e0, Warning:ParseSps(): frame_mbs_only_flag (0) not supported.
[libopenh264 @ 0x7f75100078c0] DecodeFrame failed
    Last message repeated 7 times
Input #0, mpegts, from 'sc-Intel-C1-L000000.ts':
  Duration: 00:00:11.26, start: 1.420289, bitrate: 5711 kb/s
  Program 1 
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
  Stream #0:0[0x100](eng): Audio: aac (libfdk_aac) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, s16, 192 kb/s
  Stream #0:1[0x101]: Video: h264 (libopenh264) (Main) ([27][0][0][0] / 0x001B), yuv420p(top first), 1920x1080, 29.97 fps, 29.97 tbr, 90k tbn
[libopenh264 @ 0x7f75102896c0] [OpenH264] this = 0x0x7f751010cf80, Warning:ParseSps(): frame_mbs_only_flag (0) not supported.
[libopenh264 @ 0x7f75102896c0] DecodeFrame failed
    Last message repeated 35 times
[libopenh264 @ 0x7f75102896c0] DecodeFrame failed sq=    0B 
    Last message repeated 11 times
...
$ vlc sc-Intel-C1-L000000.ts
VLC media player 3.0.21 Vetinari (revision 3.0.21-0-gdd8bfdbabe8)
[000055db2bedc5b0] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
[00007f6ffcc18320] mpeg4audio packetizer: AAC channels: 2 samplerate: 44100
[libopenh264 @ 0x7f6ffccb9bc0] DecodeFrame failed
[libopenh264 @ 0x7f6ffccb9bc0] DecodeFrame failed
[libopenh264 @ 0x7f6ffccb9bc0] DecodeFrame failed
[libopenh264 @ 0x7f6ffccb9bc0] DecodeFrame failed
...
$ rpm -q openh264               
openh264-2.4.1-2.fc41.x86_64
$ mediainfo sc-Intel-C1-L000000.ts
General
ID                                       : 1 (0x1)
Complete name                            : sc-Intel-C1-L000000.ts
Format                                   : MPEG-TS
File size                                : 7.66 MiB
Duration                                 : 11 s 144 ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 5 752 kb/s

Video
ID                                       : 257 (0x101)
Menu ID                                  : 1 (0x1)
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : Main@L4
Format settings                          : CABAC / 4 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 4 frames
Codec ID                                 : 27
Duration                                 : 11 s 211 ms
Bit rate mode                            : Constant
Nominal bit rate                         : 5 000 kb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Variable
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : MBAFF
Scan type, store method                  : Interleaved fields
Scan order                               : Bottom Field First
Writing library                          : x264 core 148
Encoding settings                        : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=34 / lookahead_threads=5 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=bff / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=0 / keyint=48 / keyint_min=4 / scenecut=0 / intra_refresh=0 / rc_lookahead=40 / rc=cbr / mbtree=1 / bitrate=5000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=5000 / vbv_bufsize=10000 / nal_hrd=cbr / filler=1 / ip_ratio=1.40 / aq=1:1.00
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                       : 256 (0x100)
Menu ID                                  : 1 (0x1)
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Format version                           : Version 4
Muxing mode                              : ADTS
Codec ID                                 : 15-2
Duration                                 : 11 s 192 ms
Bit rate mode                            : Variable
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 44.1 kHz
Frame rate                               : 43.066 FPS (1024 SPF)
Compression mode                         : Lossy
Delay relative to video                  : -47 ms
Language                                 : English

Menu
ID                                       : 4096 (0x1000)
Menu ID                                  : 1 (0x1)
Format                                   : AAC / AVC
Duration                                 : 11 s 144 ms
List                                     : 256 (0x100) (AAC, English) / 257 (0x101) (AVC)
Language                                 : English
Service name                             : Service01
Service provider                         : FFmpeg
Service type                             : digital television
joakim-tjernlund commented 22 hours ago

Plays in firefox for me using the new 2.5.0 release

abitrolly commented 11 hours ago

@joakim-tjernlund thanks or the confirmation. How do you open .ts files in Firefox? For me it only proposes to download them.

joakim-tjernlund commented 11 hours ago

ah, stupid me. It was not playing in FF actually. So I built ffmpeg(6.1.1) with openh264 and no x264/x265 and tested with ffplay sc-Intel-C1-L000000.ts That played fine as well.

abitrolly commented 8 hours ago

@joakim-tjernlund that's nice to know. Just to confirm, with 2.4.x it doesn't play on your system?

joakim-tjernlund commented 8 hours ago

@joakim-tjernlund that's nice to know. Just to confirm, with 2.4.x it doesn't play on your system?

No idea, I moved away from 2.4.1 since long time ago

abitrolly commented 8 hours ago

Fair enough.