Octagon SF4008 fails to play the video stream of certain DVB-T stations (unlike other Enigma2 receivers)

There are 3 replies in this Thread which was already clicked 567 times. The last Post () by mazochungo.

  • Hi there,


    I got an Octagon SF4008 receiver running PurE2 6.5, and it is struggling to play a few DVB-T channels from my area, near Madrid (Spain). Needless to say that my TV and other Enigma2 receivers running PurE2 6.5 (e.g., an Uclan Ustym 4K and an Edision OS Nino+) can play those channels just fine.


    So, when I perform a channel search on the Octagon, all the expected channels show up. But for some reason, among the dozens of channels I get, there's like 4-5 that I cannot watch. Zapping to them results in a black screen (no picture at all), although I do get the sound and the EPG.


    These are two of the channels showing this problem:

    • Hit TV at 618 MHz (C-39).
    • Teletoledo at 658 MHz (C-44).

    Both of them are broadcast multiplexed with other channels in the same frequencies. And while none of the channels in C-44 are showing a picture (I just get the sound and the EPG), the same does not apply to C-39. I can watch just fine most channels from this mux (such as El Toro, 8madrid, etc.), contrary to Hit TV.


    Other things I tried:

    1. Pointed my antenna at a different ransmitter, which transmits Teletoledo on C-42 (642 MHz). Same result as with C-44 (no video).
    2. I streamed these channels from my Octagon and played them on my PC. No issues. While my Octagon fails to decode the video, my PC does not.
    3. Recorded a sample to an USB stick (uploaded here). My PC could play the .TS file fine, but my Octagon failed to do so regardless of the player: gstPlayer or extePlayer.
    4. Checked the video properties in the .TS files. Couldn't see anything unexpected. Resolution is 1920x1080, codec is AVC, etc.
    5. Upgraded my Octagon to the latest PurE2 version (7.4) and flashed other images too (OpenATV, etc.). The probem always persisted.

    Finally, I grabbed the Enigma2 logs while zapping to Hit TV (which fails to play) and while zapping to El Toro (which plays OK), and compared them. I noticed that there is a sequence of VIDEO_GET_EVENT messages that only show up when I zap to El Toro. When I zap to Hit TV, they are completely missing:


    20:27:19.4877 dvb/decoder.cpp:563 video_event [eDVBVideo0] VIDEO_GET_EVENT FRAME_RATE_CHANGED 25000 fps

    20:27:19.4880 dvb/decoder.cpp:563 video_event [eDVBVideo0] VIDEO_GET_EVENT PROGRESSIVE_CHANGED 0

    20:27:19.4881 dvb/decoder.cpp:563 video_event [eDVBVideo0] VIDEO_GET_EVENT SIZE_CHANGED 1920x1080 aspect 3

    20:27:19.4945 dvb/decoder.cpp:563 video_event [eDVBVideo0] VIDEO_GET_EVENT FRAME_RATE_CHANGED 25000 fps

    20:27:19.4946 dvb/decoder.cpp:563 video_event [eDVBVideo0] VIDEO_GET_EVENT PROGRESSIVE_CHANGED 0


    So, I guess there is something special in the video stream of these channels that might be confusing the video hardware / drivers of my Octagon, and therefore the VIDEO_GET_EVENTS are never being fired and the video playback never starts. Unfortunately, I don't know what it may be, or whether it can be fixed or bypassed.


    Any help would be highly appreciated.


    PS: I found another forum where somebody was having the same issue with an older TV (not an Enigma2 receiver): no video on some channels from C-39, being Hit TV one of them. Somebody pointed out that maybe those channels were not reporting certain parameters (e.g., resolution or aspect ratio) and hence the TV was unable to play them. But this never got fully confirmed. And even if that's the case, other TVs and receivers do not seem to have a problem with it.

  • ChatGPTs answer:


    🔍 From your stream info

    Video:

    • H.264 / MPEG-4 AVC
    • 1920×1080 @ 25 fps
    • Chroma location: Left (4:2:0)

    Audio:

    • MPEG Audio Layer II (mpga)
    • 48 kHz / 192 kb/s / Stereo

    That’s a perfectly ordinary DVB-T HD channel — but some SF4008 builds have decoder quirks.

    🧩 From your log


    Code
    VIDEO_GET_EVENT FRAME_RATE_CHANGED 25000 fps
    VIDEO_GET_EVENT PROGRESSIVE_CHANGED 0
    VIDEO_GET_EVENT SIZE_CHANGED 1920x1080 aspect 3

    The key line is:

    Code
    PROGRESSIVE_CHANGED 0


    This means the decoder reports interlaced video, not progressive.


    Many PurE2 6.5 kernels for the SF4008 have a broken interlaced H.264 1080i handling path — it opens, reports size, but never starts feeding frames to the video plane. You just get black or audio-only.


    ⚠️ Why this specific channel fails

    Likely causes:

    1. Broadcast is 1080i (25 fps) rather than 1080p (25 fps)** — the driver flags “progressive = 0”.

    Some PurE2 6.5 kernels mis-map the buffer pitch when progressive = 0.

    2. Aspect ratio value 3 → corresponds to 16:9; that part is fine.

    3. The audio (MPEG Layer II) decodes fine, but the video never leaves the hardware decoder because of the progressive/interlaced misreport.


    ✅ Ways to confirm

    Tune to the same mux on another image (e.g. OpenATV 7.3 or 7.4). If it plays there, it’s definitely a PurE2 kernel driver regression.

    Record the .ts from PurE2 (Menu → Record) and try to play it in VLC — if VLC plays it fine, the broadcast stream is good.


    If you telnet this command.

    ls -l /lib/modules/$(uname -r)/extra/

    this will list your boxes modules.

    paste them here and I will add them back into chatgpt.

    Then we might be able to just copy a couple of modules over from a few working openatv ones.

    Another thing chatgpt recommends as a test.
    When your screen is black. Telnet this command to temporarily force progressive flag 1 to see if video appears:

    echo 1 > /proc/stb/vmpeg/0/progressive

    ** A person who feels appreciated will always do more than what is expected **

  • Another AI answer.


    Those Madrid DVB-T channels (e.g. Hit TV, Teletoledo) are broadcasting H.264 1080i25 streams that:

    declare a non-standard or missing sequence_parameter_set (SPS) field for aspect_ratio_info_present_flag or pic_struct; and

    sometimes omit the initial H.264 AUD (access unit delimiter).


    Most modern decoders (TVs, PC software, newer STBs) reconstruct that info automatically.


    But the Hisilicon vfmw / vdec firmware used in the SF4008 needs valid SPS/PPS before it can fire the VIDEO_GET_EVENT sequence that Enigma2 waits for to start displaying video.


    🧩 Why it only affects SF4008

    The SF4008 uses an older Hisilicon video firmware blob (hi_vfmw.ko) that has stricter parsing.

    Uclan Ustym 4K and Edision OS Nino+ use ALi M2662 or Broadcom SoCs, which are more tolerant.

    Octagon later switched to different SoCs in the SF8008 / SF5008 series, and those boxes do not show the issue.

    So even when you flash newer images, they all load the same closed-source Hisilicon firmware, and the bug remains.


    ✅ Ways people have successfully worked around this

    Force software decoding


    Use extePlayer3 with --ffmpeg mode (or gstplayer fallback).


    This bypasses the hardware decoder entirely and will display the video.


    It’s CPU-heavy but works fine for testing or occasional viewing.

    ** A person who feels appreciated will always do more than what is expected **

  • Hi KiddaC


    Thanks a lot for your feedback.


    Please note that the traces I highlighted in red correspond to a working channel, not to the ones that are not playing. When I zap to the channels that fail, there are no VIDEO_GET_EVENTS traces at all. So, I don't think the problem is due to an interlaced video stream or related to "PROGRESSIVE_CHANGED 0". Nevertheless, I tried running "echo 1 > /proc/stb/vmpeg/0/progressive", but nothing changed. Still no picture.


    Now, regarding "Tune to the same mux on another image (e.g. OpenATV 7.3 or 7.4). If it plays there, it’s definitely a PurE2 kernel driver regression". I already did, and the problem persisted. I am unable to watch those channels regardless of the image or version I install on the receiver.


    And regarding "Record the .ts from PurE2 (Menu → Record) and try to play it in VLC — if VLC plays it fine, the broadcast stream is good". That's exactly what I did, and the reason why I was able to attach a sample .TS file to my previous post. As I said, this sample .TS file plays fine on my PC, but not on the Octagon.


    This is what "ls -l /lib/modules/$(uname -r)/extra/" returns:

    -rw-r--r-- 1 root root 33960 Sep 19 2022 cdfs.ko

    -rwxr-xr-x 1 root root 9362164 Sep 19 2022 linuxtv.ko


    Regarding "Those Madrid DVB-T channels (e.g. Hit TV, Teletoledo) are broadcasting H.264 1080i25 streams that: declare a non-standard or missing sequence_parameter_set (SPS)". Ok, but remember that it's only SOME of the channels that fail. Other channels that are multiplexed together with Hit TV play fine, e.g.: 8madrid, El Toro, etc.


    Finally, about "Use extePlayer3 with --ffmpeg mode", how exactly should I do that? Is it a command I need to run, or something I need to add to a configuration file?


    Thanks!

Chat about everything else!

A friendly forum for off-topic discussions, random questions, and community bonding. Your space for conversations outside our main categories. Discuss hobbies, news, games, or anything else with the wider community.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!