Git Product home page Git Product logo

playkit-ios-dtg's Introduction

Download To Go

Download-to-Go (DTG) for iOS.

Used to download Kaltura HLS streams for offline playback.

Documentation

Please see our documentation for usage and info.

License and Copyright Information

All code in this project is released under the AGPLv3 license unless a different license for a particular library is specified in the applicable library path.

Copyright © Kaltura Inc. All rights reserved.
Authors and contributors: See GitHub contributors list.

playkit-ios-dtg's People

Contributors

chausov avatar gal-orlanczyk avatar giladna avatar mrmcandr avatar noamtamim avatar noamtm avatar vadimkononov avatar x-nr-x avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

playkit-ios-dtg's Issues

Conversion to MP4 / Ability to save to camera roll

Is your feature request related to a problem? Please describe.
Not really, I'd like to provide my users with an ability to save streams in their camera roll but don't see how that would be possible with the current code.

Describe the solution you'd like
I'd like to have an ability to "convert" (didn't fully understand HLS, sorry for that) the Downloads to some file format that can be added to the camera roll, as I don't see a way of doing that right now.

Describe alternatives you've considered
I didn't find anything yet, that's why I'm writing this issue.

Additional context
If this is not possible, then simply close it. If it is far off the goal of this project then as well, providing me with a way to find a solution to this would be awesome though, as I got lost pretty easily digging into the DTG code ... thanks!

Support for hls offline drm

Is there a roadmap for implementing offline playback with fairplay drm.
Any ETA info would be greatly appreciated.
Cheers and thanks.

Update RealmSwift depedency version

Is your feature request related to a problem? Please describe.
The RealmSwift dependency is outdated at version 10.15.1

Describe the solution you'd like
Please update the RealmSwift dependency version to the latest release (currently, 10.32.0)

Describe alternatives you've considered
N/A

Additional context
We use RealmSwift in our app and would like to upgrade to the latest version to receive the bug fixes/enhancements provided. The current version of DownloadToGo (3.17.0) uses RealmSwift (10.7.2), this version of RealmSwift supports Xcode 12.4. The latest version supports Xcode 13 & 14

Downloaded content date

hi,
i searched for a function to get me the date of a downloaded content but i did not find it. Is there anyway to get the downloaded date.
i am using lates playkit-ios-dtg release 3.13.0

thanks in advance

Unable to add DTG as dependency through cocoaPods

Describe the bug

Unable to add DTG as dependency through cocoaPods. Getting below error:

CocoaPods could not find compatible versions for pod "M3U8Kit":
In Podfile:
DownloadToGo (= 3.12.1) was resolved to 3.12.1, which depends on
M3U8Kit (= 0.4.1)

To Reproduce

  1. Create a new project.
  2. Initialise cocoaPods by pod init
  3. Add DTG as dependency (pod 'DownloadToGo', '= 3.12.1')
  4. pod install
  5. Observe the error in terminal:

CocoaPods could not find compatible versions for pod "M3U8Kit":
In Podfile:
DownloadToGo (= 3.12.1) was resolved to 3.12.1, which depends on
M3U8Kit (= 0.4.1)

Expected behavior
Should be able to add DTG as dependency through cocoaPods

Logs and Screenshots

Screenshot 2020-11-04 at 10 20 34 PM

Platform

  • OS and version: N.A. (using macOS Catalina terminal)
  • Device type: N.A.
  • Library version : 13.12.1

Additional context

  1. Tried to pod repo update and pod install --repo-update as suggested in terminal error
  2. It seems M3U8Kit (= 0.4.1) is no more available. Created a poc project with dependency M3U8Kit (= 0.4.1) and getting same error while M3U8Kit (= 1.0.0) is working as expected.

Other downloaded videos URL not played offline

Hello @x-NR-x,

I hope you are doing well. I am facing one issue in your library.

Firstly, I am getting errors while pod installation for solving that issue I did comment on some codes and change some values which you can check in bellowed images and it seems perfectly played of downloaded video online as well as offline mode.

I created a new demo and downloaded my video URL, it's played well online but not played well offline

My content URL is:- https://rg-tv.com/storage/movies/Stuber/YYYtPmPWRUT9tHMvQE6A.m3u8

Can you give me some solutions to this issue?

Thanks in advance.
:)

Screen Shot 2019-11-04 at 11 44 43 AM

Screen Shot 2019-11-04 at 11 45 05 AM

Screen Shot 2019-11-04 at 11 44 56 AM

Screen Shot 2019-11-04 at 2 12 48 PM

[Offline playback DRM] Cannot playback with castlab DRM

Describe the bug
Playback offline fairplay drm cannot play

To Reproduce
#EXTM3U
#EXT-X-VERSION:7

Created with Broadpeak BkS350 Origin Packager(version=1.9.5)

#EXT-X-SESSION-KEY:METHOD=SAMPLE-AES,URI="skd://drmtoday?assetId=LetsEat3_T02_DRM_new&variantId=",KEYFORMAT="com.apple.streamingkeydelivery",KEYFORMATVERSIONS="1"

AUDIO groups

#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-aacl-128",NAME="Vietnamese",LANGUAGE="vi",AUTOSELECT=YES,DEFAULT=YES,CHANNELS="2"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-aacl-128",NAME="Korean",LANGUAGE="ko",AUTOSELECT=YES,CHANNELS="2",URI="LetsEat3_T02-audio_kor=128000.m3u8"

variants

#EXT-X-STREAM-INF:BANDWIDTH=456000,CODECS="mp4a.40.2,avc1.4D4029",RESOLUTION=426x240,FRAME-RATE=30,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE
LetsEat3_T02-audio_vie=128000-video=301312.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=711000,CODECS="mp4a.40.2,avc1.4D4029",RESOLUTION=640x360,FRAME-RATE=30,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE
LetsEat3_T02-audio_vie=128000-video=541912.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=1197000,CODECS="mp4a.40.2,avc1.4D4029",RESOLUTION=854x480,FRAME-RATE=30,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE
LetsEat3_T02-audio_vie=128000-video=1000440.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2260000,CODECS="mp4a.40.2,avc1.4D4029",RESOLUTION=1280x720,FRAME-RATE=30,AUDIO="audio-aacl-128",CLOSED-CAPTIONS=NONE
LetsEat3_T02-audio_vie=128000-video=2003768.m3u8

keyframes

#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=40000,CODECS="avc1.4D4029",RESOLUTION=426x240,URI="keyframes/LetsEat3_T02-video=301312.m3u8"
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=72000,CODECS="avc1.4D4029",RESOLUTION=640x360,URI="keyframes/LetsEat3_T02-video=541912.m3u8"
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=133000,CODECS="avc1.4D4029",RESOLUTION=854x480,URI="keyframes/LetsEat3_T02-video=1000440.m3u8"
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=266000,CODECS="avc1.4D4029",RESOLUTION=1280x720,URI="keyframes/LetsEat3_T02-video=2003768.m3u8"

Error on code
[VERBOSE] [::1:59255] ::1:59264 200 "GET /LetsEat3_T02_DRM_new/audio/cf954d982940d94245a683b8893a736b.ts" (356 | 105959)
2020-03-25 18:59:37.377 [Warning] [AVPlayerEngine+Observation.swift:90] onErrorLogEntryNotification(notification:) > error description: Optional("Segment exceeds specified bandwidth for variant"), error domain: CoreMediaErrorDomain, error code: -12318
[DEBUG] Did disconnect
[DEBUG] Did end background task
2020-03-25 18:59:49.276 [Warning] [AVPlayerEngine+Observation.swift:90] onErrorLogEntryNotification(notification:) > error description: Optional("crypt key received slowly"), error domain: CoreMediaErrorDomain, error code: -16833
2020-03-25 19:00:02.298 [Warning] [AVPlayerEngine+Observation.swift:90] onErrorLogEntryNotification(notification:) > error description: Optional("crypt key received slowly"), error domain: CoreMediaErrorDomain, error code: -16833
2020-03-25 19:00:15.340 [Debug] [AVPlayerEngine.swift:309]

Platform

  • OS and version: [e.g. iOS 10.2, tvOS 11.0]
  • Device type: [e.g. iPhone, iPad]
  • Library version [3.11.0]

Getting crash in Realm

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Flow of API calls that led to the issue.

Expected behavior
A clear and concise description of what you expected to happen.

Logs and Screenshots
If applicable, add log and/or screenshots to help explain your problem.

Platform

  • OS and version: [e.g. iOS 10.2, tvOS 11.0]
  • Device type: [e.g. iPhone, iPad]
  • Library version [e.g. 3.4.5]

Additional context
Add any other context about the problem here.

When I try to download video, i am getting this crash
here is my code
do {
try self.cm.startItem(id: entryId)
} catch {
self.toast(error.localizedDescription)
}
Terminating app due to uncaught exception 'RLMException', reason: 'Realm accessed from incorrect thread.'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff23b98bde __exceptionPreprocess + 350
1 libobjc.A.dylib 0x00007fff503b5b20 objc_exception_throw + 48
2 Realm 0x0000000111a95b93 -[RLMRealm verifyThread] + 131
3 Realm 0x000000011194d446 _ZL17RLMVerifyAttachedP13RLMObjectBase + 118
4 Realm 0x000000011195351c _ZN12_GLOBAL__N_18getBoxedIN5realm10StringDataEEEP11objc_objectP13RLMObjectBasem + 28
5 Realm 0x00000001119534f7 __ZN12_GLOBAL__N_115makeBoxedGetterIN5realm10StringDataEEEP11objc_objectm_block_invoke + 39
6 Aurora 0x000000010e8c10f3 $s6Aurora27ADSPFileVideoViewControllerC7addItemyyFy7PlayKit12PKMediaEntryCSg_s5Error_pSgtcfU_yycfU
+ 899
7 Aurora 0x000000010e27929d $sIeg_IeyB_TR + 45
8 libdispatch.dylib 0x00000001141f7df0 _dispatch_call_block_and_release + 12
9 libdispatch.dylib 0x00000001141f8d64 _dispatch_client_callout + 8
10 libdispatch.dylib 0x00000001141fb20b _dispatch_queue_override_invoke + 1022
11 libdispatch.dylib 0x000000011420a29a _dispatch_root_queue_drain + 351
12 libdispatch.dylib 0x000000011420aba4 _dispatch_worker_thread2 + 132
13 libsystem_pthread.dylib 0x00007fff5141c6b3 _pthread_wqthread + 583
14 libsystem_pthread.dylib 0x00007fff5141c3fd start_wqthread + 13
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Xcode 14.1 compile error

Describe the bug
When building that latest DTG 3.18.0 using Xcode 14.1 or later, we receive a compile error regarding RealmSwift

To Reproduce
Add DTG using cocoapods, build the app

Expected behavior
Build to compile with no errors

Logs and Screenshots
Undefined symbols for architecture arm64: "_$s10RealmSwift0A14CollectionImplPAAE12makeIteratorAA11RLMIteratorVy7ElementQzGyF", referenced from: _$s12DownloadToGo12migrate_to_333_04D983CE8B87C002D73D729D97DFFAD1LLyy10RealmSwift9MigrationVFyAD13DynamicObjectCSg_AItXEfU_ in DB.o "_$s10RealmSwift4ListCyxGAA0A14CollectionImplAAMc", referenced from: _$s10RealmSwift4ListCyAA13DynamicObjectCGACyxGAA0A14CollectionImplAAWl in DB.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Platform

  • OS and version: N/A
  • Device type: N/A
  • Library version 3.18.0

Additional context
I believe this is an error in the RealmSwift framework and has been fixed in 10.32.2
https://github.com/realm/realm-swift/releases/tag/v10.32.2
Apple requires all apps uploaded to the Appstore after April 1st to be built using Xcode 14.1 or later

Crash app when download video hasn't data in manifest

Describe the bug
A clear and concise description of what the bug is.
When check audio manifest hasn't m3u8URL then crash app

To Reproduce
Download a video has multi audio and subtitle
Manifest file hasn't m3u8URL
App is crashed

Expected behavior
Check nil with a serveral cases hasn't data

Logs and Screenshots
If applicable, add log and/or screenshots to help explain your problem.

Platform

  • OS and version: IOS 13.3.1
  • Device type: Iphone/Ipad
  • Library version : v3.11.1

Screen Shot 2020-03-11 at 2 26 47 PM

Additional context
Add any other context about the problem here.

Unable to Install Pods

Hello,

Thank you for this awesome library, I think it provides me everything which I want but I am facing issue with Installing pods. I am unable to install the pods I am getting following errors

Screenshot 2019-10-25 at 12 08 30 PM

I had also tried to download this project and pod installation but result is same

Can you please guide me or help me with this?

Thanks :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.