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

HbbTV broadband video best practices #12

Open
gcsaperas-konodrac opened this issue Mar 27, 2024 · 5 comments
Open

HbbTV broadband video best practices #12

gcsaperas-konodrac opened this issue Mar 27, 2024 · 5 comments

Comments

@gcsaperas-konodrac
Copy link

gcsaperas-konodrac commented Mar 27, 2024

First of all, I'm totally aware Issues is not the best place for adding my question, but HbbTV does not have a real forum, just StackOverflow, and StackOverflow does not allow generic documentation questions in their guidelines.

I'm currently trying to implement a video replacement in an HbbTV application. I am testing it in an HbbTV/1.2.1 device (spec v1.5). I don't have a v2 device.

Ideal scenario:

  1. Initialize HbbTV Application and show HbbTV broadcast.
  2. Preload video in the background without blocking the HbbTV broadcast.
  3. When the video can play through: stop broadcast -> show video -> play video until the end -> hide video -> start and show broadcast.

So far I found out the <video /> HTML Element provides the worst results. I get a black screen right as soon as I set video.src, no matter my CSS rules. I can't seem to hide the video while it's loading. Maybe I'm missing something.

The <object type="video/mp4" /> provides the best and most consistent results.

My current results look like this:

  1. Initialize HbbTV Application and show HbbTV broadcast.
  2. 2-3 seconds delay.
  3. Display black screen, 2-3 seconds delay.
  4. Video playback until the end.
  5. Display black screen, 2-3 seconds delay.
  6. Successfully back to the broadcast.

The only problem with <object type="video/mp4" /> is that I can't preload it and sometimes it has to stop and buffer.

Overall, I'm quite happy with my results, but I would like to know what is the best way of implementing what I want in HbbTV 1.5. I know there are better alternatives in newer HbbTV versions.

@countnoobula
Copy link

A bit old, but I just found this repo while looking for something else and watne to provide some thoughts.

We're on the Freeview network. In our numbers and traffic, less than 1% use < HbbTv 2.0.1 (TS 102 796 V1.4.1).

We primarily rely on dash.js as our player (MSE) and we show a cover image that is only removed when we get a ready event from dash.js.

Doing this through the object interface was inconsistent in regards to listening for the event to start playing, so we upped our threshold. This may not work for everyone to eliminate that pool.

@gcsaperas-konodrac
Copy link
Author

gcsaperas-konodrac commented Feb 10, 2025 via email

@DigitalRefugee
Copy link

Just to point out that since the original message was posted we do now have a Slack channel for developers to share information - https://join.slack.com/t/hbbtvdevelopers/shared_invite/zt-2oswzsxqq-FERFqYFJnVNQutmU0YC~hg

But great this is also being looked at.

@countnoobula
Copy link

Hi Shaun,

Thank you so much for your response! We’re just in the midst of some video developments using Dash.js. As you say we seem to be increasing coverage, but found one of the main issues to be the way in which the convert from mp4 to mpd.

Would you have some insight on this? We are currently using ffmpeg to convert our videos. Feel free to simply link me towards documentation.

Again, thank you so much.

Kind regards,

Gerard Castrelo Saperas
Tech Lead – Applications & HbbTV
email: @.@.>

[Facebook icon]https://www.facebook.com/konodrac/[Twitter icon]https://twitter.com/konodrac[LinkedIn icon]https://www.linkedin.com/company/konodrac[Instagram icon]https://www.instagram.com/konodrac/

[signature_792823326]http://konodrac.com/

Confidentiality Note: This email may contain confidential and/or private information. If you received this email in error please delete and notify sender.
Politica de privacidad | Privacy Policyhttps://www.konodrac.com/privacy-policy/

From: Shaun van Tonder @.>
Date: Friday, 7 February 2025 at 21:38
To: HbbTV-Association/Developer-Portal-Issues @.
>
Cc: Gerard Saperas @.>, Author @.>
Subject: Re: [HbbTV-Association/Developer-Portal-Issues] HbbTV broadband video best practices (Issue #12)

A bit old, but I just found this repo while looking for something else and watne to provide some thoughts.

We're on the Freeview network. In our numbers and traffic, less than 1% use < HbbTv 2.0.1 (TS 102 796 V1.4.1).

We primarily rely on dash.js as our player (MSE) and we show a cover image that is only removed when we get a ready event from dash.js.

Doing this through the object interface was inconsistent in regards to listening for the event to start playing, so we upped our threshold. This may not work for everyone to eliminate that pool.


Reply to this email directly, view it on GitHub#12 (comment), or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVT5BPRKUGKYHAU5LRMKNIT2OUKUBAVCNFSM6AAAAABWWYGTKOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMNBUGA3TQOBYGA.
You are receiving this because you authored the thread.Message ID: @.***>

This was quite a challenge we had to overcome. Our final implementation did use FFmpeg, with minor adjustments .

I think what may help me help you better: Are you providing in an MP4 range that represents the live window, or are you trying to convert a static MP4 to a static MPD that may be played back? (VOD style)

Kind regards

@juhajoki
Copy link

please also check the DASH DRM Reference App resources and tooling:
https://github.com/HbbTV-Association/ReferenceApplication/

any lessons learned about conversions around mp4 and DASH can be contributed to the project above as well.

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

4 participants