Re: [WikimediaMobile] The path to video: media playback for the iOS app
Brion this is so exciting! :) On Wed, Jun 24, 2015 at 3:53 PM, Brion Vibber bvib...@wikimedia.org wrote: We've been stalled for years on adding media playback to the Wikipedia iOS app due to the impasse between Wikimedia's insistence on free formats and Apple's insistence on only supporting patented formats. I'm trying to route around that impasse by getting Ogg and WebM playback up and running on iOS through a native widget library, which I've been cleaning up to ready it for CocoaPods packaging. Here's the high-level library: https://github.com/brion/OGVKit and provisional CocoaPods specifications for the low-level open-source libraries it needs: https://github.com/brion/OGVKit-Specs Once I finish some further fixes and do an API cleanup (version 0.5 on my provisional milestones https://github.com/brion/OGVKit/milestones) I plan to publish my podspecs and write a patch to the Wikipedia app that uses OGVKit to handle media playback. Rough patch plan: * add OGVKit as dependency * enhance the photo carousel view to instantiate a player view for audio/video files, just like on Android * add content CSS to clean up those video thumbnail 'Play media' links * add a JS click handler for 'Play media' links to launch the carousel * add a JS click handler for audio and video elements in content * add a bunch of libraries to the list on the about page Ideally this should be a surgical patch and relatively minimal, though an update of the Pods dir will pull in a lot of files. :) -- brion ___ Mobile-l mailing list Mobile-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mobile-l ___ Mobile-l mailing list Mobile-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mobile-l
Re: [WikimediaMobile] The path to video: media playback for the iOS app
Brion - have a question about existing OGG players: Currently there is an iOS framework called VLCKit (https://wiki.videolan.org/VLCKit/) by the VideoLan crew that appears to handle OGG/WebM and seems to be under active development. It is also being used in several shipping apps (including the VLC iOS app) I see you forked it at sometime in the past… was there a reason why you didn't pursue modifying it or using it as is within the iOS app to play media files? On Thu, Jun 25, 2015 at 1:05 PM, Monte Hurd mh...@wikimedia.org wrote: Brion this is so exciting! :) On Wed, Jun 24, 2015 at 3:53 PM, Brion Vibber bvib...@wikimedia.org wrote: We've been stalled for years on adding media playback to the Wikipedia iOS app due to the impasse between Wikimedia's insistence on free formats and Apple's insistence on only supporting patented formats. I'm trying to route around that impasse by getting Ogg and WebM playback up and running on iOS through a native widget library, which I've been cleaning up to ready it for CocoaPods packaging. Here's the high-level library: https://github.com/brion/OGVKit and provisional CocoaPods specifications for the low-level open-source libraries it needs: https://github.com/brion/OGVKit-Specs Once I finish some further fixes and do an API cleanup (version 0.5 on my provisional milestones https://github.com/brion/OGVKit/milestones) I plan to publish my podspecs and write a patch to the Wikipedia app that uses OGVKit to handle media playback. Rough patch plan: * add OGVKit as dependency * enhance the photo carousel view to instantiate a player view for audio/video files, just like on Android * add content CSS to clean up those video thumbnail 'Play media' links * add a JS click handler for 'Play media' links to launch the carousel * add a JS click handler for audio and video elements in content * add a bunch of libraries to the list on the about page Ideally this should be a surgical patch and relatively minimal, though an update of the Pods dir will pull in a lot of files. :) -- brion ___ Mobile-l mailing list Mobile-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mobile-l -- Corey Floyd Software Engineer Mobile Apps / iOS Wikimedia Foundation ___ Mobile-l mailing list Mobile-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mobile-l
Re: [WikimediaMobile] The path to video: media playback for the iOS app
I've been looking at MobileVLCKit for some time actually, including submitting build script patches to make it easier to build as a framework and getting help from the VLC devs to make a stripped-down build option without the default proprietary codecs. There are a few key things that have led me to prefer going a separate way: * Build reproducibility is bad. I very frequently encounter breakage after a fresh checkout, as the complex build system doesn't ensure that consistent versions of all the dependencies are used -- for instance there are a lot of patches which frequently fail to apply. If the code can't be safely rebuilt and dropped in, upgrading and debugging are potential nightmares. * No Xcode-friendly packaging. The recursive autoconf-based build system doesn't match up well with CocoaPods for packaging and building in Xcode with desired options. I could make a podspec that uses a prebuilt binary with specific options[1], but: * MobileVLCKit is large, and includes lots of things we don't need. A default framework build is literally hundreds of megabytes; the actual linked executable size is smaller but it still adds like 40 megabytes to the app bundle. Even with the no-scary-codecs option there's a lot of stuff in there and you get a huge library. We could work further to strip it down, but there may be diminishing returns. OGVKit wraps mostly the same open-source codec libraries that MobileVLCKit does, but the framework and playback logic is lighter-weight and the packaging is friendlier to debugging and versioning. Ultimately the API surface between the Wikipedia app and the player widget will be quite small; it should be easy to swap player libraries should the need arise. (Or replace it altogether with standard classes if we ever allow MP4 output on the servers...!) [1] Note I am using such a binary package for libvpx, the WebM VP8/VP9 video codec. I'm prebuilding that using libvpx's build scripts, which *are* nice and clean and consistent, and the resulting multi-arch framework binary is only a few megabytes. -- brion On Thu, Jun 25, 2015 at 3:46 PM, Corey Floyd cfl...@wikimedia.org wrote: Brion - have a question about existing OGG players: Currently there is an iOS framework called VLCKit (https://wiki.videolan.org/VLCKit/) by the VideoLan crew that appears to handle OGG/WebM and seems to be under active development. It is also being used in several shipping apps (including the VLC iOS app) I see you forked it at sometime in the past… was there a reason why you didn't pursue modifying it or using it as is within the iOS app to play media files? On Thu, Jun 25, 2015 at 1:05 PM, Monte Hurd mh...@wikimedia.org wrote: Brion this is so exciting! :) On Wed, Jun 24, 2015 at 3:53 PM, Brion Vibber bvib...@wikimedia.org wrote: We've been stalled for years on adding media playback to the Wikipedia iOS app due to the impasse between Wikimedia's insistence on free formats and Apple's insistence on only supporting patented formats. I'm trying to route around that impasse by getting Ogg and WebM playback up and running on iOS through a native widget library, which I've been cleaning up to ready it for CocoaPods packaging. Here's the high-level library: https://github.com/brion/OGVKit and provisional CocoaPods specifications for the low-level open-source libraries it needs: https://github.com/brion/OGVKit-Specs Once I finish some further fixes and do an API cleanup (version 0.5 on my provisional milestones https://github.com/brion/OGVKit/milestones) I plan to publish my podspecs and write a patch to the Wikipedia app that uses OGVKit to handle media playback. Rough patch plan: * add OGVKit as dependency * enhance the photo carousel view to instantiate a player view for audio/video files, just like on Android * add content CSS to clean up those video thumbnail 'Play media' links * add a JS click handler for 'Play media' links to launch the carousel * add a JS click handler for audio and video elements in content * add a bunch of libraries to the list on the about page Ideally this should be a surgical patch and relatively minimal, though an update of the Pods dir will pull in a lot of files. :) -- brion ___ Mobile-l mailing list Mobile-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mobile-l -- Corey Floyd Software Engineer Mobile Apps / iOS Wikimedia Foundation ___ Mobile-l mailing list Mobile-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mobile-l
[WikimediaMobile] The path to video: media playback for the iOS app
We've been stalled for years on adding media playback to the Wikipedia iOS app due to the impasse between Wikimedia's insistence on free formats and Apple's insistence on only supporting patented formats. I'm trying to route around that impasse by getting Ogg and WebM playback up and running on iOS through a native widget library, which I've been cleaning up to ready it for CocoaPods packaging. Here's the high-level library: https://github.com/brion/OGVKit and provisional CocoaPods specifications for the low-level open-source libraries it needs: https://github.com/brion/OGVKit-Specs Once I finish some further fixes and do an API cleanup (version 0.5 on my provisional milestones https://github.com/brion/OGVKit/milestones) I plan to publish my podspecs and write a patch to the Wikipedia app that uses OGVKit to handle media playback. Rough patch plan: * add OGVKit as dependency * enhance the photo carousel view to instantiate a player view for audio/video files, just like on Android * add content CSS to clean up those video thumbnail 'Play media' links * add a JS click handler for 'Play media' links to launch the carousel * add a JS click handler for audio and video elements in content * add a bunch of libraries to the list on the about page Ideally this should be a surgical patch and relatively minimal, though an update of the Pods dir will pull in a lot of files. :) -- brion ___ Mobile-l mailing list Mobile-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mobile-l