Intermittent Issue with hardware decoder

I'm a new Channels DVR user and experienced the common problem where video is blank even though audio works fine. My google-foo found the work-around is to change the Channels client video decoder setting from hardware to either hybrid or software. This work-around fixed the problem for me but I would like to better understand why my problem is intermittent. I would expect hardware decoding to either always/never work if it's stricly an issue with the client device decoder.

The problem client device is a Fire TV Stick 4K Max 2nd Gen (Device Specifications: Fire TV Streaming Media Player | Amazon Fire TV). I watched 4 recorded TV prograns yesterday, all recorded on the same TV channel and HDHomeRun tuner (FLEX 4K). Here's a snippet from the HDHomeRun log for these Channels DVR recordings:

20231004-21:30:01 Tuner: tuner2 tuning 5.1 KSDK-5 (8vsb:599MHz-3) (good playback with hardware decoding)
20231004-21:30:01 Tuner: tuner2 streaming http to 192.168.1.22:36164
20231004-22:00:01 Tuner: tuner2 http stream ended (remote closed)
20231004-22:00:01 Tuner: tuner2 tuning 5.1 KSDK-5 (8vsb:599MHz-3) (good playback with hardware decoding)
20231004-22:00:01 Tuner: tuner2 streaming http to 192.168.1.22:33858
20231004-22:30:00 Tuner: tuner2 http stream ended (remote closed)
20231004-22:30:00 Tuner: tuner2 tuning 5.1 KSDK-5 (8vsb:599MHz-3) (no video with hardware decoding)
20231004-22:30:00 Tuner: tuner2 streaming http to 192.168.1.22:58084
20231004-23:00:00 Tuner: tuner2 http stream ended (remote closed)
20231004-23:00:00 Tuner: tuner2 tuning 5.1 KSDK-5 (8vsb:599MHz-3) (no video with hardware decoding)
20231004-23:00:00 Tuner: tuner2 streaming http to 192.168.1.22:39416
20231004-23:30:00 Tuner: tuner2 http stream ended (remote closed)

I've recorded these programs on past days without playback problems.

Does anyone know why my decoder issue is intermitent?

Amazon is known to ship broken and buggy decoder drivers on FireOS

Why does everyone else's video player work if this is true?

I have no problem with the FireTV4K or FireTV4K Max playing any MPEG2 with hardware. . Maybe your stream sometimes has problems Crap in Crap out ?

Even my 32 Inch garage Fire Television plays MPEG2 with hardware.

2 Likes

Other apps and players don't generally deal with mpegts, mpeg2, interlaced video, etc. Amazon doesn't test their decoder with HDHomeRuns.

dguzman is using the new Firestick 4k Max. It has a new Fire OS 8, based on Android 11, I believe. Maybe it has a problem. All my Firestick 4k devices including my older Max works fine, never have any problems with Hardware decoding.

I am using the fireTV 4K max 2nd generation no problems whatso ever.

1 Like

Well there goes my theory. Maybe dguzman doesn't have the latest HDHomerun firmware or needs to restart his device or server.

Note this is the new Fire TV Stick 4K Max 2nd Gen model released just last week. I can view the same recordings on my Android phone with device decoding without issues so I don't think it's the stream itself but I guess there might be nuances that are too technical for me to understand. Seems an issue specific to the Firestick decoder but what puzzles me is it's inconsistent, where the same scheduled recorded program works on some days and not others.

If you want to investigate the next step would be to look at the Channels client logs to see if there's an error or what's happening.

They're visible on http://x.x.x.x:57000/log using the IP of your android device

That is what I am using. anytime a new Firetv Device comes out I test extensively because some of my PC Clients are elderly like me lol... so I am ready for any problems they might have.

@tmm1 , here's a snippet of the log during playback of a problem recording that shows codes issues. I also submitted a video diagnostics report.

10-06 12:20:19.517  3666  3666 I PlayerActivity: Clearing Video Error Message
10-06 12:20:19.765  3666  3740 W mpv     : [ffmpeg/demuxer] mpegts: Packet corrupt (stream = 1, dts = 5346943974), dropping it.
10-06 12:20:19.765  3666  3740 W mpv     : [ffmpeg/demuxer] mpegts: Packet corrupt (stream = 2, dts = 5346958374), dropping it.
10-06 12:20:19.814  3666  3740 W mpv     : [ffmpeg/demuxer] mpegts: stream 1 : no PTS found at end of file, duration not set
10-06 12:20:19.820  3666  3740 W mpv     : [ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 0 (Video: mpeg2video ([2][0][0][0] / 0x0002), none(tv, top first)): unspecified size
10-06 12:20:19.821  3666  3740 W mpv     : [ffmpeg/demuxer] Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
10-06 12:20:19.831  3666 19087 I OMXClient: IOmx service obtained
10-06 12:20:19.839  3666 19086 I MediaCodec: [OMX.MTK.VIDEO.DECODER.MPEG2] setting surface generation to 3754024
10-06 12:20:19.840  3666 19086 I MediaCodecLogger: [ASAP] HW.omx.video.mpeg2 P2 + 144471181
10-06 12:20:19.843  3666 19087 E ACodec  : [OMX.MTK.VIDEO.DECODER.MPEG2] configureCodec returning error -22
10-06 12:20:19.843  3666 19087 E ACodec  : signalError(omxError 0x80001001, internalError -22)
10-06 12:20:19.843  3666 19086 E MediaCodec: Codec reported err 0xffffffea, actionCode 0, while in state 3
10-06 12:20:19.843  3666 19086 I MediaCodecLogger: 3666.4K.HW.omx.video.mpeg2.DecoderErrorFatal = 1
10-06 12:20:19.843  3666 19086 I MediaCodecLogger: 3666.4K.HW.omx.video.mpeg2.ASAP-P2Ms = -144471181
10-06 12:20:19.843  3666 19086 I MediaCodecLogger: 3666.4K.HW.omx.video.mpeg2.ASAP-P3Ms = 0
10-06 12:20:19.843  3666 19086 I MediaCodecLogger: 3666.4K.HW.omx.video.mpeg2.FirstFrameReadyMs = 0
10-06 12:20:19.844  3666  3737 E MediaCodec: configure failed with err 0xffffffea, resetting...
10-06 12:20:19.857  3666 19087 I OMXClient: IOmx service obtained
10-06 12:20:19.865  3666  3666 I PlayerActivity: state LOADING -> LOADED
10-06 12:20:19.865  3666  3666 I PlayerActivity: Clearing Video Error Message
10-06 12:20:19.866  3666  3740 I mpv     : [cplayer]  (+) Video --vid=1 (mpeg2video 29.970fps)
10-06 12:20:19.866  3666  3740 I mpv     : [cplayer]  (+) Audio --aid=1 --alang=eng (ac3 6ch 48000Hz 384kbps)
10-06 12:20:19.866  3666  3740 I mpv     : [cplayer]      Audio --aid=2 --alang=eng (ac3 2ch 48000Hz 192kbps)
10-06 12:20:19.867  3666  3740 W mpv     : [ffmpeg/video] mpeg2_mediacodec: Unsupported or unknown profile
10-06 12:20:19.867  3666  3740 E mpv     : [ffmpeg] amediacodec: java.lang.IllegalArgumentException occurred
10-06 12:20:19.867  3666  3740 E mpv     : [ffmpeg/video] mpeg2_mediacodec: Failed to configure codec OMX.MTK.VIDEO.DECODER.MPEG2 (status = -542398533) with format {mime=video/mpeg2, width=0, rotation-degrees=0, height=0}
10-06 12:20:19.867  3666  3740 E mpv     : [ffmpeg/video] mpeg2_mediacodec: MediaCodec 0x89c53c40 failed to start
10-06 12:20:19.867  3666  3740 E mpv     : [vd] Could not open codec.
1 Like

Is this only happening on 5.1 or all channels? What kind of signal are you getting on that station?

@tmm1 , as I recall, it's only happened on 5.1 so far but most of my scheduled recordings are on that channel. HDHomeRun reports an average of 80-85% signal strength with tuner 2 on 5.1 and 100% signal and symbol quality.

Is hdhr firmware up to date?

@tmm1 , yes, firmware 20230719.

1 Like

Plex plays everything, but most of the other shit doesn't work right. I've noticed that the Channels Player using the Software Driver does very well with everything except HEVC. It's too bad it can't switch based on video type. That would eliminate most of my hassles with Channels. Or it could just use the Aspect Ratio embedded in the Video file rather than seeing the screen resolution as the aspect ratio. Then I could just leave it in Hardware mode and never have to worry about anything. Doesn't seem like too much to ask for.

2 Likes