tidev / titanium-sdk

🚀 Native iOS and Android Apps with JavaScript
https://titaniumsdk.com/
Other
2.76k stars 1.21k forks source link

Ti.Media.VideoPlayer could support HTTPS streaming? #14073

Open Informate opened 5 months ago

Informate commented 5 months ago

I have searched and made sure there are no existing issues for the issue I am filing

Description

At the moment the VideoPlayer do not fully support HTTPS video streaming, and trying to play an HTTPS video could crash your app. This could also be one of the main reasons because ATS (Apple Transport Security) is disabled by default. Could it be possible to implement HTTPS streaming in future versions?

Solution

Implement VideoPlayer HTTPS video streaming.

Alternatives

On iOS: Prefetch the video with Ti.Network.HTTPRequest and inject it in the player via the media attribute. On any: Prefetch the video with Ti.Network.HTTPRequest and store to local file.

Platforms

Android & iOS

m1ga commented 5 months ago

For Android please check: https://github.com/m1ga/ti.exoplayer

Informate commented 5 months ago

For Android please check: https://github.com/m1ga/ti.exoplayer

Thanks for the link! The main problem remains iOS which tends to crash on HTTPS.

I see that you have a great repository of beautiful modules, I have watched them one by one carefully. I give you all my compliments for your work!

I am a Titanium enthusiast of the first hour, my first App in the store still goes back to before Axway (2014), to when push notifications were managed from the web panel of the site. I hope there will be an opportunity to collaborate with you again in the future! I really appreciate your work, I hope to see you soon!

m1ga commented 5 months ago

You're welcome and thanks :smile: I mostly do Android work that's why I had that module and infos ready. I have no clue about the iOS part and since you've selected iOS & Android I thought I'll link you to the module.

So hopefully an iOS developer is checking the iOS part

AbdullahFaqeir commented 2 months ago

I'll check this

Informate commented 1 month ago

For iOS it is possible to convert the video to HLS format and stream it via HTTPS I suppose. Ffmpeg should support the conversion (as of ChatGPT) :

ffmpeg -i input.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls output.m3u8

And this should play on iOS via HTTPS. (Not tested at the moment)