Open in app

Sign In

Write

Sign In

Taku Semba
Taku Semba

323 Followers

Home

About

Mar 10, 2020

Caption Overview

Captions provide viewers with information about what is occurring in their videos for viewers who are not able to understand or hear the language, and many streaming services, such as Netflix, YouTube, and Hulu, support captions to increase accessibility. Open Captions vs Closed Captions There are mainly two types of ways to support captions. One…

Android

3 min read

Caption Overview
Caption Overview
Android

3 min read


Jan 30, 2020

Think About Initial Bitrate

For media streaming such as HLS or MPEG-DASH, there is a mechanism called Adaptive Bitrate (ABR), which makes it possible to switch between multiple resolutions based on the network bandwidth. It helps reduce network usage and keep a video playing at the maximum resolution that a player is currently capable…

Android

3 min read

Thinking About Initial Bitrate
Thinking About Initial Bitrate
Android

3 min read


Dec 17, 2019

Deep Understanding of Seek

With ExoPlayer, seek operation can be done by player.seekTo(positionMs). In this post, I will look into how seeking can be archived inside ExoPlayer. To be specific, I will address these two. How accurate ExoPlayer can seek, and why. How fast ExoPlayer can seek and why. *) This post is based…

Android

4 min read

Deep Understanding of Seek
Deep Understanding of Seek
Android

4 min read


Jul 21, 2019

Set max bitrate on ExoPlayer

Sometimes, you may have some situation where you want to limit video resolution, for example, when a user explicitly set the max resolution from the setting or when a playback surface size is too small and you do not need to get the higher resolutions. Set Max Bitrate ExoPlayer provides a way of…

Android

2 min read

Set max bitrate on ExoPlayer
Set max bitrate on ExoPlayer
Android

2 min read


Jul 14, 2019

Debugging on ExoPlayer

Debugging Problem When a playback fails with some ExoPlaybackException, it’s relatively easier to know what’s is wrong and how to fix it, but how do you solve some non-crash problems like playback stalls for a very short time under certain conditions, or output surface flickers on a specific device. This is a…

Android

4 min read

Debugging on ExoPlayer
Debugging on ExoPlayer
Android

4 min read


Jul 5, 2019

Decoders/Encoders on Android

Decoders and Encoders are very important components when handling media sources, and Android devices have multiple decoders/encoders on them. While Android supports a different kind of codecs and container formats, Android API provides ways to decode/encode those specific data. MediaCodec can be used to access a certain encoder/decoder components on…

Android

3 min read

Decoders/Encoders on Android
Decoders/Encoders on Android
Android

3 min read


Apr 15, 2019

Play Multi-key DRM contents on ExoPlayer (part-2)

In the previous article, I wrote about what is Multi-key and how to create sample multi-key contents. In this article, I will explain how to play them. If you have not read the previous article, I would recommend to read this first. MediaDrmCallback In ExoPlayer, MediaDrmCallback.java is responsible for requesting keys…

Android

2 min read

Play Multi-key DRM contents on ExoPlayer (part-2)
Play Multi-key DRM contents on ExoPlayer (part-2)
Android

2 min read


Apr 15, 2019

Play Multi-key DRM contents on ExoPlayer (part-1)

Digital rights management, or you could just refer to it as DRM, is a way of controlling what users can do with some sort of digital content. To protect the content, the decryption key is stored in a license server, then the player gets the license key from the license…

Android

2 min read

Play Multi-key DRM contents on ExoPlayer (part-1)
Play Multi-key DRM contents on ExoPlayer (part-1)
Android

2 min read


Mar 1, 2019

Do you really need JvmStatic annotation?

JvmStatic annotation Kotlin has a JvmStatic annotation, and in this article, I will go through about what JvmStatic annotation does and the necessity of it. If you add @JvmStatic to functions, in acompanion object scope like this below, you can access it like Greeter.hello() from Java code. What JvmStatic annotation does To know what JvmStatic annotation…

Kotlin

2 min read

Do you really need JvmStatic annotation?
Do you really need JvmStatic annotation?
Kotlin

2 min read


Jan 30, 2019

Keep Your LiveData Safe when navigating back.

LiveData + Navigation LivaData helps you observe data. Navigation helps you manage transitions. However, when you use both there is something you have to pay extra attention to. Let’s think of a situation where you develop a single-activity app with two fragments in it. (MainActivity, Fragment1, Fragment2.)

Android App Development

2 min read

Keep Your LiveData Safe when navigating back.
Keep Your LiveData Safe when navigating back.
Android App Development

2 min read

Taku Semba

Taku Semba

323 Followers

Android Engineer at AbemaTV Github: https://github.com/takusemba

Following
  • UX Collective Editors

    UX Collective Editors

  • Toni Heidenreich

    Toni Heidenreich

  • Muukii (Hiroshi Kimura)

    Muukii (Hiroshi Kimura)

  • Netflix Technology Blog

    Netflix Technology Blog

  • Takuya Matsuyama

    Takuya Matsuyama

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech