RealmVideo - An iOS app to watch Realm videos and slides at the same time on your phone.

Overview

Realm Video

CI Status License Platform

Description

Realm is an amazing resource to watch different talks from various conferences and meetups. They publish videos and slides of each talk and it's all great as long as you are not watching them from your iPhone or iPad. In that case, as soon as you start the video, a MPMovieViewController will take all the space on your screen and the slides are not visible. Video without slides is πŸ‘Ž

@realm is aware of the issue but there is no real workaround as you can see from this tweet. Until now.

Implementation

Realm Video uses a UIWebView to take advantage of the great Realm website with the slides being automatically in sync with the video. A Javascript function is used to locate the video element on the page and scroll to it. The HTML element that takes care of showing the slides is also located by finding its id. A MPMovieViewController object is presented as soon as the video is started and a UIView is added on top of it by accessing the window hierarchy. A function runs in the background every second and renders a screenshot of the current slide in the UIWebView. In this way, we keep the video and slides always in sync. The rendered image is then added to the floating UIView to be always visible to the user.

A few cool features:

  • Single tap on the slides to hide them. Tap again to show them again. πŸ‘Œ
  • Double tap to change the position of the slides between top left, top right, bottom left and bottom right. πŸ”
  • Pause the video and start again whenever you want. ⏯
  • Skip forward or backward in the video and see the slides automatically syncing with the video. πŸ†’
  • Browse the latest videos from the Realm website 😎

This project was developed in ~7 hours. It was tested on an iPhone 6s Plus only and it could use some more work to turn it into a real app. Pull requests are very welcome!

Installation

Run pod install and open the workspace project in Xcode, build & run, enjoy. 😎

Contributing

You are very welcome to add new features and fix bugs. Feel free to open as many issues and pull requests as you want. 😏

Author

I'm Patrick Balestra. Email: [email protected] Twitter: @BalestraPatrick.

License

RealmVideo is available under the MIT license. See the LICENSE file for more info.

Disclaimer

Realm uses a few different video providers. The app was tested with Youtube videos a few a other services. If you find a page that is not compatible, please open an issue or submit a pull request.

More images

Comments
  • Resolve a few issues with videos and slides positioning off screen

    Resolve a few issues with videos and slides positioning off screen

    I noticed a few issues today with some of the newer videos positioning off screen. The slides were doing something similar. I put in a few changes to hopefully resolve the issue and protect against a couple of other issues.

    The new video browser is a great idea! πŸ‘

    opened by bbethke 6
  • Can't pod install with Cocoapods 1.0.0

    Can't pod install with Cocoapods 1.0.0

    I'm not a Cocoapods expert, but I assume the pod spec for this library needs to be updated to work with Cocoapods 1.0. In any event, I only got 'pod install' to work by using Cocoapods 0.39.

    opened by mbeaty 5
  • 'browse Videos' is broken

    'browse Videos' is broken

    Hi:

    Great app idea. Thanks for open sourcing it.

    The 'browse videos' button seems to break the app on an iPhone 6s. It works correctly in the simulator, but on a physical device - no luck.

    The issue seems to be when BrowseVideosViewController tries to load videos within the init function:

    videos = RealmParser().videos

    Eventually, the app crashes with the following error:

    fatal error: unexpectedly found nil while unwrapping an Optional value

    iPhone 6s iOS 9.3.1 Xcode 7.3.1

    opened by nextriot 5
  • Back out to list

    Back out to list

    I installed to both my iPad and iPhone. I can start the video and see the slides without a problem. How do I go back to the list of Realm videos? In order to go back to the list I have to force-quit the app and open it back up again. I think I'm missing how to go back.

    opened by fbara 3
  • Changes to keep welcome screen UI above keyboard. Pasteboard button.

    Changes to keep welcome screen UI above keyboard. Pasteboard button.

    I love this app idea. Thanks for putting this together. I noticed when I first ran it that it wasn't entirely clear how to get the video to start playing because the "Start Video" button was hidden behind the keyboard. I made some changes such that the UI lives above the keyboard and on really small screens (iPhone 4/4S), the keyboard appearing changes the content view of the scroll view so that you can scroll to view the buttons or gesture to close the keyboard.

    In addition, I added a button next to "Start Video" called "Paste Clipboard" which just saves the user a couple of taps by pasting the contents of the Pasteboard (Clipboard) straight into the text field. The keyboard also appears immediately when the WelcomeViewController is displayed on screen.

    opened by bbethke 1
Owner
Patrick Balestra
Infra Engineer at @spotify. Previously at @n26, @Scandit, BCG DV and FIFA TMS.
Patrick Balestra
DevSwitch - An iOS app for switching between countries on the App Store with ease.

Archived as of 24/04/2021. Apple has again broken the URLs required for storefront switching. I've decided to archive DevSwitch due to this. If Apple

Aaron Pearce 432 Jan 3, 2023
Bitrise-iOS - Client iOS app for bitrise.io πŸš€

?? SwiftUI version is available as beta ?? Bitrise iOS Client app ?? Features βœ… App List GET /me/apps Shows last visited app page on launch βœ… Build Li

Toshihiro Suzuki 142 Dec 19, 2022
AppLove - View iOS app reviews in multiple selected territories with translation option.

App Love Note: Swift Version 2.2 currently, will update to Swift 3/XCode 8 after cocoapods are updated to Swift 3. Features View iOS Customer App Revi

Woodie Dovich 52 Nov 19, 2022
IOS - Unofficial app for Swift Evolution

EVOlution - iOS The goal of this project is for the version 1.0 was: bring to iOS the experience provided by Swift Evolution website. Now we are shift

EVOlution App 235 Dec 19, 2022
A native Jellyfin client for Apple platforms (iOS, macOS and tvOS)

Jellyfin Swift (working title) is a native Swift app targeting all modern Apple devices (iOS, ipadOS, tvOS and macOS).

Julien Machiels 3 Jun 7, 2021
BaseConverter-iOS - The fast and easy way to convert numbers with tons of possibilities!

BaseConverter-iOS The fast and easy way to convert numbers with tons of possibilities! With BaseConverter, convert your numbers from and to: Decimal B

Groupe MINASTE 3 Feb 8, 2022
Buglife-iOS - Awesome bug reporting for iOS apps

Buglife is an awesome bug reporting SDK & web platform for iOS apps. Here's how it works: User takes a screenshot, or stops screen recording User anno

Buglife 498 Dec 17, 2022
Charter - A Swift mailing list client for iPhone and iPad

Due to costs and lack of interest, I’ve had to take down the Charter service. If you’re interested in running your own copy, get in touch and I can se

Matthew Palmer 526 Dec 24, 2022
DevTool - A simple UI and powerful Mac OS application, Such as JSON-Formatting tool, JSON-to-model tool, AppIcon generator, Network-Request tool...

?? ?? ?? A simple UI and powerful Mac OS application. It is a collection of tools commonly used in my development work. Such as JSON-Formatting tool, JSON-to-model tool, AppIcon generator, Network-Request tool...

渠晓友 3 Dec 21, 2022
Awesome-ML - Discover, download, compile & launch different image processing & style transfer CoreML models on iOS.

⚠️ ⚠️ ⚠️ IMPORTANT: I'm no longer maintaining Awesome-ML. Awesome ML is an iOS app that is made to demonstrate different image processing CoreML model

eugene 171 Nov 8, 2022
Media view which subclasses UIImageView, and can display & load images, videos, GIFs, and audio and from the web, and has functionality to minimize from fullscreen, as well as show GIF previews for videos.

I've built out the Swift version of this library! Screenshots Description ABMediaView can display images, videos, as well as now GIFs and Audio! It su

Andrew Boryk 80 Dec 20, 2022
An app that uses Multipeer Connectivity to play a video across 6 different iOS screens with an additional phone acting as a Main/Control phone.

MultiScreenApp An app that uses Multipeer Connectivity to play a video across 6 different iOS screens with an additional phone acting as a Main/Contro

Vedant 113 Nov 21, 2022
Watch WWDC and Tech Talk Videos on your Apple TV, tvOS App.

WWDCTV This project allows you to watch WWDC & Tech Talks videos on your Apple TV. It has been built for tvOS 9.0 using Xcode 7.1 You can also favouri

Aaron Stephenson 421 Nov 3, 2022
πŸ‘¨β€πŸ’»Watch the latest and greatest conference videos on your Mac

Conferences.digital is the best way to watch the latest and greatest videos from your favourite developer conferences for free on your Mac. Either sea

Timon Blask 768 Jan 4, 2023
Slides and content from my SwiftLeeds talk

DataRacesActors Slides and content from my SwiftLeeds talk "Understanding Data Races and Actors in Swift 5.5" Resources Thread Sanitizer explained Act

Antoine van der Lee 7 Jun 21, 2022
Small utility to import PDF slides as vector images into Keynote for iOS.

Small utility to import PDF files into Keynote for iOS. This utility is especially helpful when presenting slideshows created by LaTeX

Luming Yin 6 Jun 14, 2022
Useful for showing text or custom view tags in a vertical or horizontal scrollable view and support Autolayout at the same time

Useful for showing text or custom view tags in a vertical or horizontal scrollable view and support Autolayout at the same time. It is highly customizable that most features of the text tag can be configured.

zekunyan 1.8k Dec 30, 2022
Realm RxSwift - This application was written in order to use Realm, RxSwift frameworks in real example

Realm_RxSwift This simple app was written to introduce basic operations of some

Elbek Khasanov 3 Apr 7, 2022
Terminal Watch Face for Apple Watch

Terminal Watch Face for Apple Watch

GΓ‘bor Librecz 1.9k Dec 29, 2022