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

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

Open
abitrolly opened this issue Nov 17, 2024 · 10 comments
Open

Comments

@abitrolly
Copy link

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
Copy link

Plays in firefox for me using the new 2.5.0 release

@abitrolly
Copy link
Author

abitrolly commented Nov 18, 2024

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

@joakim-tjernlund
Copy link

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
Copy link
Author

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

@joakim-tjernlund
Copy link

@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
Copy link
Author

Fair enough.

@abitrolly
Copy link
Author

@joakim-tjernlund installed 2.5.0. No luck.

$ ldd `which ffplay` | grep h264
	libopenh264.so.7 => /lib64/libopenh264.so.7 (0x00007f2c184ed000)
$ ls -la /lib64/libopenh264.so.*
-rwxr-xr-x. 1 root root 1126240 Nov  9 03:00 /lib64/libopenh264.so.2.5.0
lrwxrwxrwx. 1 root root      20 Nov  9 03:00 /lib64/libopenh264.so.7 -> libopenh264.so.2.5.0

The video still doesn't play.

$ ffplay sc-Intel-C1-L000000.ts
...
[libopenh264 @ 0x7ff1940078c0] [OpenH264] this = 0x0x7ff19403c2e0, Warning:ParseSps(): frame_mbs_only_flag (0) not supported.
[libopenh264 @ 0x7ff1940078c0] DecodeFrame failed
    Last message repeated 47 times

@joakim-tjernlund
Copy link

Odd, maybe an ffmpeg thing or SW vs. HW decode thing.
It seems openh264 does not support this case but maybe ffmpeg use vaapi or similar for me.

@abitrolly
Copy link
Author

@joakim-tjernlund vlc is unable to process this file too. How to see if ffplay uses hardware acceleration or not? And how did you turn it off for testing?

@joakim-tjernlund
Copy link

No idea, don't know the internals of this stuff, I am just guessing here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants