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
MVP Mobile Player App #2
Comments
Issue Status: 1. Open 2. Started 3. Submitted 4. Done This issue now has a funding of 0.5 ETH (64.96 USD @ $129.92/ETH) attached to it.
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work has been started. These users each claimed they can complete the work by 4 weeks, 1 day from now. 1) tcrowe has applied to start work (Funders only: approve worker | reject worker). I would like to attempt this using React Native to begin with and then dropping to lower level Java and Swift if there is not a suitable existing control, or plugin, to display the video format. I have some experience with binary formats, parsers, and serialization. Preferably the bounty could be increased since there is some difficulty in it. I promise to succeed or fail fast and not leave you in the dark about progress. Thank you for your consideration. I will develop an android app that is capable of playing the live streams via the google exo-player in kotlin. I will also do the same for iOS using swift, should be done in a few hours. I'll leverage the Flutter framework to build an app that meets the criteria in the issue description that deploys to both Android and iOS from a single build pipeline. Learn more on the Gitcoin Issue Details page. |
@tcrowe I want to be sure that the app will be as simple as outlined. Minimal in the extreme. Without any embellishments. Turn TV on. Turn TV off. Can you please confirm? Also, can you do both apps? Re: budget, what do you have in mind? |
Confirmed! To accomplish Android and iOS it helps to have React Native bootstrap the app in one codebase. On top of that I can implement the video format. With all caveats: apk can be generated 👍, iOS requires Apple app store approval, and etc. I have OSX which can run the iOS emulator. It might be possible to tap into this plugin:
IMO, the real cost will be somewhere about 5-11 ETH. Sometimes people are either increasing the bounty or using Gitcoin tip after. If you want to know more about my reasoning we can jump in a chat. Even if you don't select me we can still chat about how to increase the success of the task. Was that helpful? |
Thank you. Very helpful. Your react-native-video link looks interesting. But what about tvOS? Do you think it's possible to use the same framework for Android, iOS and tvOS? See below: https://github.com/react-native-community/react-native-video/blob/master/README.md#tvos-installation In terms of budget, that was more than I was thinking. Perhaps it's better left to a relative beginner. What do you think? Also, you should take a look at this https://github.com/criticaltv/infinite-permissionless-digital-stage/ It's the back end to this app. It's solid-as-a-rock. Built on Livepeer. Do you have any Livepeer Tokens? Do you want some? #LPT. |
For now, here's where I'm at for the .apk https://s3.amazonaws.com/gonativeio/static/5e0e4d0069463a2822fc2d84/app-release.apk |
That is an interesting possibility! My only experience with React Native are a few apps for Android and iOS. We did not use it for other platforms but it does support many others now.
I would say yes, especially if you're patient. We can find out if that project has a sample repo and try to reduce costs by forking, customizing, and re-deploying. What I have found is that there is a significant amount of finagling tools to get everything to work, testing, and reloading emulators. It is equally time consuming to the amount of code they write. |
Would you accept payment based on deliverables including successful publication of 1 app to each of Android and iOS stores, with a success bonus based on 1 app public to tvOS? |
Also, do you know anything about integrating crypto burner wallets with Connext? I want viewers to eventually have to pay for content, direct to publisher, by the second. |
I have been following the development of livepeer and the ecosystem. I have not yet participated with the community although I would like to.
That is why I included the caveats above. It is necessary to go through an "App store checklist" to make sure the app is worthy enough for their app store. And then they have automated and human checks. Nobody here should guarantee it will be accepted into the app stores. I can say that we have some confidence we can create these apps. That plugin has some support for HLS, playlist file & URL, streaming and some other interesting features. It will help our chances to be accepted if together we are mindful that it has to work and have a slick appearance from a marketing perspective. That means, logos, icons, loading screen(if any), sample images, sample video, and text written by literate people. (No offense to English-as-a-second-language people. It is what it is.)
Can you provide some more information? I will have to look into it. I have done some bounties for web3.js used with much of the Ethereum integration. At least I could say I'm probably familiar with the concepts. Is there an API you can tap into for mobile payments and tips? Like app-to-app on the same device? |
My written English is quite good. I can also provide images. I may also be able to provide an upcoming band in Berlin (Tolyqyn) who are interested in experimenting with this as a way to share their creativity.
I would first look at @austintgriffith burner wallet - as the base level wallet. He says it's "pretty gross". Here it is: https://github.com/austintgriffith/burner-wallet Then, Austin recommended https://burnerfactory.com and @dmihal Then I would look at Connext 2.0 for the fast stuff. Talk to @ArjunBhuptani And finally, also look at the other issue in this repo: https://github.com/criticaltv/infinite-permissionless-digital-stage/issues/3 So, I'm now imagining "Tolyqyn TV" app on Apple TV, showing a 0 balance, and an ETH address for sending money, to start the stream, and pay per second, direct to publisher. And this would be available to everyone. |
@mul1sh I am interested in your proposed approach with Kotlin and exo-player. I had also seen that as an option. Can you confirm that it could really be as simple as: "tap launcher to turn TV on, tap screen to turn TV off, nothing else"? Question 1: would this be for Android only, or could it also work on iOS and perhaps even tvOS? Multi-platform support is looking increasingly important. Question 2: What about support for web3 payments? Are you up to speed with it? This will likely feature in the future roadmap. |
@criticaltv yes it will be as simple as that 🙂 and to answer you.
So anyway let me know what you think of this and I can even get it done later today to your satisfaction, if approved. Thanks. |
Here are some further thoughts and mockups on how a user journey might look:
The user should not be required to take any action to put the content full screen
|
@criticaltv awesome, if you approve me, I can get this working for both ios and android in a few hours. 🙂 |
@mul1sh I have approved you to start work. Welcome to Video DAC! If you would like to join the community chat: https://t.me/videoDAC Also, you might be interested in creating your own test signal using this: https://github.com/criticaltv/infinite-permissionless-digital-stage/ |
@criticaltv awesome thanks for the approval, working in this now 🙂. A question, should I use swift and kotlin to develop the app? This will mean 2 separate codebases but the app will perform very well. |
Will it not perform well with Flutter? |
Flutter for now only supports WebRTC for live streams, see https://stackoverflow.com/questions/54988284/flutter-live-streaming So to get it working in flutter, I would need to create a package that will launch exo-player for android for the hls streams playback and launch an AVFoundation media player for ios playback, so essentially doing the same thing. So no the functionality is not yet supported in flutter but adding a plugin to do this is not hard. The performance would also be great, since in each platform would be using the native player. So no huge difference really. |
OK, so it sounds like the options are:
Did I understand it right? If so, my question is: which option will be easier to add in Wallet integration to later? |
@criticaltv yes correct, you have it right. As for wallet integration, flutter would still be the easiest than supporting both kotlin & swift. In fact there is already a package which supports web3 in flutter https://pub.dev/packages/web3dart. It doesn't have all the features but the necessary functionalities needed for wallet integration and management are available. |
Right, and there also seem to be people in the Flutter community talking about WatchOS and tvOS... it would be very cool if in future that apps could be published to these platforms. So, what is your recommendation? |
I would recommend flutter right away, because of the single code base which is much easier to maintain and also since it performs as good as native apps even with complex animations e.t.c the app will perform as expected. As for Watch and Tv support, I don't think this is possible in flutter for now, this article explains it better https://medium.com/flutter-community/what-flutter-cant-do-limitations-ed185c89fb61. So if you want support for these platforms from the onset then I would highly recommend we stick to separate kotlin/swift projects instead of flutter. |
Will [ Swift + AVFoundation ] work for tvOS and WatchOS? |
Yep it will any new xcode swift project already supports WatchOS and TvOS by default so integrating them wouldn't be an issue. |
OK, so, let's stick with the single code base and Flutter - if this means that we can more quickly get wallet integrated later on both platforms - this is the panacea I'm going after. And let's deal with WatchOS and tvOS in another project - while they may appear to be quite niche, they might be lucrative for selling apps (essentially selling a viewer easy-access to a channel) and also for pay-as-you-go streaming. It might also be a challenge getting them into the Apple TV and Apple Watch stores. |
Awesome sounds great, will alert you in a few hours then, when the MVP is ready for testing. |
I have to share this... You will have to download and unzip it - but inside is a .apk file for v0.1 of the MVP Mobile Player app, for installation on Android devices An app is born, into the world! Feedback please. I have one request already - which is to make any padding black, not white. |
New release just shipped! The apk is a massive 4.3Mb |
Minor request - please can you publish the app using the following source HLS:
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work for 0.5 ETH (66.58 USD @ $133.17/ETH) has been submitted by: @criticaltv please take a look at the submitted work:
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done The funding of 0.5 ETH (66.58 USD @ $133.17/ETH) attached to this issue has been approved & issued to @mul1sh.
|
How did it go, guys? What's the best way for me to watch progress on the project? I'm working on an audio project that can benefit from some things you're doing here. |
@tcrowe, yes, we're still on this. The code is there on GitHub.com/VideoDAC/apps We have an app waiting in line for Google play, which is literally just "turn stream on, turn stream off" for a single channel served by an Infinite Digital Stage. Starting small, with a test signal. And we are also developing this concept: https://github.com/videoDAC/infinite-digital-stage/issues/3 around getting paid in real-time for live audio visual publishing and broadcasting. Viewer direct to creator. Peer to peer. Decentralised. What is the audio project? Do you have a repo? Or a brief? Anything with music? |
Also @tcrowe, you can talk to us on VideoDAC Telegram Channel. |
@mul1sh is also working here: videoDAC/android#3 |
Overview
This is a proposal for an Minimum Viable Product Mobile Player App, for playing content from the Streaming Back-End. It aims to provide a minimal basic starting video app for viewers on mobile.
Test Signal
First, to show you that I'm serious, I have provided a test signal = stream of video content as HLS over HTTP.
http://52.29.226.43:8935/stream/hello_world.m3u8
You can play this stream of video content using something like
ffplay
, and many (but not all) browsers will play natively.What is Streaming Back-End?
Now that you know I'm serious, let me tell you what I mean by an Streaming Back-End.
Streaming Back-End is a server-based video infrastructure platform which can:
If the server is publicly accessible, it can provide these services to any internet user.
You can find out more in the project's github repo.
Mobile App User Journey
Here is a proposed user journey for an MVP mobile app:
For iOS or Android?
Obviously, both. Absolutely.
Specific Deliverables for Android App:
.apk
file with a unique bundle ID, and file size less than 100MBa signed app release.
Codebase and
.apk
published in this current Github repository under /player/mobile/app/android.Must work on Android 6.0 upwards.
Specific Deliverables for iOS App:
The text was updated successfully, but these errors were encountered: