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

Support hls streaming files #798

Closed
futurepaul opened this issue Mar 21, 2023 · 8 comments
Closed

Support hls streaming files #798

futurepaul opened this issue Mar 21, 2023 · 8 comments
Labels
feature New feature request

Comments

@futurepaul
Copy link
Contributor

Damus could support self-published video streams if it could understand .m3u8 extension. Should be able to use the native OS. Here's a test case using an example from Apple:

https://developer.apple.com/streaming/examples/

note1tp0r3jn49u785vqp7jgr7un0p60ud9kcnqkfnkmx7pm3pdzuj4dqc5h087

Here's the underlying video the .ts file directs to:

note1a0akhl7e3rf80qtx5xzaxpdvnlva6hwxqzm2xqmwhwh45u6n3enqcj8sum

So it plays fine it's just understanding the format so the native player can take over

@alltheseas
Copy link
Collaborator

alltheseas commented Mar 21, 2023

Can you send a real world working example of this extension/format outside of nostr? This is new for me.

Going to https://developer.apple.com/streaming/examples/basic-stream-osx-ios5.html simply shows a blank/non-playing player window in page.

Never mind. This link worked in Safari, and not in Brave browser.

https://developer.apple.com/streaming/examples/basic-stream-osx-ios5.html

@bmewj
Copy link
Contributor

bmewj commented Mar 29, 2023

To provide a little more context, the video player built into iOS supports Apple HLS by default. Any valid .m3u8 file can be attached as a source and it will be handled properly, adaptive bitrate and all. All that’s needed on the implementation side is to recognise the extension alongside regular .mov,.mp4, etc… as a video file and instantiate a video player

@bryanmontz
Copy link
Contributor

@alltheseas I've started working on this. What's happening is the metadata fetch that we do for other URLs doesn't work for HLS streams, so we need to detect that type (.m3u8) and create a VideoPlayer view with it instead of checking for metadata. It works, but I'd like to make it able to fullscreen like the other video types.

@alltheseas alltheseas added the feature New feature request label Jul 12, 2023
@alltheseas
Copy link
Collaborator

alltheseas commented Jul 17, 2023

@fishcakeday submitted

#1372

@alltheseas alltheseas added this to the 1.6 Profile Zaps milestone Jul 17, 2023
@alltheseas alltheseas moved this to In Review 🕵️ in Damus Roadmap 🛣️ Jul 17, 2023
@fishcakeday
Copy link
Contributor

@alltheseas I've started working on this. What's happening is the metadata fetch that we do for other URLs doesn't work for HLS streams, so we need to detect that type (.m3u8) and create a VideoPlayer view with it instead of checking for metadata. It works, but I'd like to make it able to fullscreen like the other video types.

So, I did a lot of back and forth with that change, and it needs help to make it worthwhile. So far, it functions as expected, but I am sure there are better ways. I am a complete n00b when it comes to iOS programming. #1372

@jb55 jb55 moved this from In Review 🕵️ to Planned 📝 in Damus Roadmap 🛣️ Jul 31, 2023
@jb55 jb55 removed this from the 1.6 Profile Zaps milestone Jul 31, 2023
@fishcakeday
Copy link
Contributor

@alltheseas my second attempt should be workable this time, also cc: @jb55 #1560

@fishcakeday fishcakeday moved this from Planned 📝 to Ready For Merge 🚀 in Damus Roadmap 🛣️ Sep 28, 2023
@fishcakeday
Copy link
Contributor

This was merged and is in the latest TestFlight, probably ok to close now.

@fishcakeday fishcakeday moved this from Ready For Merge 🚀 to Published to Testflight ✅ in Damus Roadmap 🛣️ Oct 5, 2023
@alltheseas
Copy link
Collaborator

Confirmed livestream worked today.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature request
Projects
Archived in project
Development

No branches or pull requests

6 participants