Giter Site home page Giter Site logo

stefanmedack / ccctv Goto Github PK

View Code? Open in Web Editor NEW
36.0 5.0 9.0 1.19 MB

An Android TV App for the media API of the Chaos Computer Club e.V. (CCC) written in Kotlin.

License: Apache License 2.0

Kotlin 100.00%
kotlin android android-tv ccc voc c3voc media streaming recording recordings

ccctv's People

Contributors

andreasgb avatar stefanmedack 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ccctv's Issues

Add a category for popular and recent events

On https://media.ccc.de/ you can browse 3 main categories: "All Events", "Popular" and "Recent". The conference list displayed on the main page currently covers what you can find on "All Events".

I propose to also add "Popular" and "Recent". Best approach would be to show them like the streaming section with a scrollable list of events.

However, the API of media.ccc.de does not offer this categories. Therefore it would also be important to load all events into the local room database and write queries to extract "Popular" and "Recent". As a little bonus, we could also come up with a "Trending" category. Every category should display a limited amount of events (~20).

Distorted video playback on Philips 40PUK6400/12

Some videos are not displayed correctly on a Philips 40PUK6400/12, sound is played without any problems.

I have tested watching videos of the different congresses. It seems to depend on the year the video was recorded.

Videos I have tested:

  • 33c3: "Bonsai Kitten waren mir lieber", WORKS
  • 32c3: "Mobile Censorship in Iran", WORKS
  • 31c3: "The rise and the fall of Internet voting in Norway", WORKS
  • 30c3: "Toward a Cognitive Quantified Self", DISTORTED
  • 29c3: "SCADA Strangelove", DISTORTED
  • 28c3: "Open source music: Tracking 2.0", DISTORTED
  • 27c3: "Terrorists Win - Exploiting Telecommunications Data Retention", DISTORTED
  • 26c3: "Chaos-Familien-Duell", DISTORTED
  • 25c3: "Attacking Rich Internet Applications", DISTORTED
  • 24c4: "Why Silicon-Based Security is still that hard", WORKS
  • 23c3: "In the Absence of Trust", WORKS
  • 22c3: "EvoCell - free software for evolving cellular automata", WORKS
  • 21c3: "Die Üblichen Verdächtigen", WORKS
  • 20c3: "Eröffnung", WORKS
  • 19c3: "Eröffnung", WORKS
  • 18c3: "Final", WORKS
  • 17c3: "Illuminatus", WORKS

img_20170912_191940

I have also recorded a video of distorted playback. (YouTube)

Events: display and select original language/available translations

Each event offers a variety of recordings and for newer conferences also a multitude of different translations within different recordings. The MimeType (MP4, webm, ...) can be disregarded. What I think could be improved/done within this story:

  • display original language and available translations on EventDetail (DetailFragment)
  • like the possibility to switch the quality during playback, switching the audio channel would be nice.

Add bookmarking

The DetailFragment already has a button (commented out) implemented to bookmark a talk for later viewing. Now with a real database in the background, it would be fairly simple to implement this:

  • saving a bookmarked event to the (room) database
  • adding a screen where bookmarked events can be browsed through and removed again.

Sreensaver (Backdrop) on running Stream

Screensaver will overlay the Video/Stream. On Livestreams the audio will continue in the background, but Screen turns to Android TV Screensaver (in my case Backdrop), Videos from the Mediathek are paused, on Nvidia ShieldTV. Version 2.0.0-RC4_TV

Speaker on an event page should be clickable

At the very bottom of a detailed event, you can see the list of speakers. They are clickable already, but do not lead to a page. With the help of the search API, we could offer a page showing all presentations of one speaker.

"onVisibleBehindCanceled" is deprecated in Android O

Hi,

I notice the file "ExoPlayerActivity.kt" overrides "onVisibleBehindCanceled", which is deprecated in Android O (link). As the official document says, "onVisibleBehindCanceled" cannot get chance to execute since Android O and will be removed in the future release.

So you may prevent putting some important operations in it.

Hope the information can help you. :)

Search API

To answer your question about search :)
Access to the search function was implemented last month: voc/voctoweb@784272e

I don't think anybody uses it yet, so let me know how it goes.

Improving discoverability by adding a per-congress-overview

The current layout to browse for talks somewhat hinders discoverability, since there are only ever 3 shown on the screen at one time, wasting a lot of space and requiring a lot of scrolling.

I would like to propose splitting the View into two, one which is an overview over the available congresses, the other then being a 'detail' view, which then contains the videos arranged in a 2D grid, so that more can be shown on the screen at any time and browsing is faster since pressing down navigates four talks farther than just one when pressing right in the current way.

I don't know if the project is open to outside contributions, but if you like the idea, I could try to implement it in coordination with you.

Improve grouping of conferences on main screen

The grouping of conferences on the main screen is pretty basic at the moment. It differs between "Congress", "Conferences", "Events", "Broadcast" and "Blinkenlights".

Improving the grouping into finer granulated conferenceGroups is not trivial, due to inconsistent tagging of the conferences.

For a better understanding of structure and quality of the conference data, you can check out https://api.media.ccc.de/public/conferences

🚨 Use a specific user agent for media.ccc.de 🚨

Hi,

Requests from 'okhttp' to the public JSON API of media.ccc.de make up 98% of the total traffic now and it's affecting performance.
Maybe some of those requests can be avoided, seems odd that we output several 100gb of JSON each day. However I'm not sure where those requests are coming from.

As first countermeasure I want to rate limit the 'okhttp' user agent. If I understand correctly cccTV currently uses that agent? Can you set an app specific agent, so we can tell the apps apart?

Save playback position

If a video has been watched for a minimum amount of time, maybe the user wants to continue watching this video later. similar to #17 , we could save playback positions in the local database. The page for browsing bookmarked events can also be enhanced to show not-finished videos (and delete them from this list).

No Content in Mediathek Categories

After update of Nvidia Shield to Android 8, no content is visible in the Mediathek, only the Events.
The Live streaming, at this time from Podstock works.
Tested with v2.3 and v3.0.

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.