<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	 xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>Mario Graf &#8211; Bitmovin</title>
	<atom:link href="https://bitmovin.com/author/mariograf/feed" rel="self" type="application/rss+xml" />
	<link>https://bitmovin.com</link>
	<description>Bitmovin provides adaptive streaming infrastructure for video publishers and integrators. Fastest cloud encoding and HTML5 Player. Play Video Anywhere.</description>
	<lastBuildDate>Tue, 25 Jul 2023 09:04:32 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://bitmovin.com/wp-content/uploads/2023/11/bitmovin_favicon.svg</url>
	<title>Mario Graf &#8211; Bitmovin</title>
	<link>https://bitmovin.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>5 Ways React Native &#038; Flutter Can Simplify Video Streaming Workflows</title>
		<link>https://bitmovin.com/react-native-flutter-streaming-workflows</link>
					<comments>https://bitmovin.com/react-native-flutter-streaming-workflows#respond</comments>
		
		<dc:creator><![CDATA[Mario Graf]]></dc:creator>
		<pubDate>Tue, 25 Jul 2023 08:01:06 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=264456</guid>

					<description><![CDATA[<p>Developing an application built to stream video can take a lot of work, especially for smaller development teams or those with minimal video technical expertise. Normally, to build on platforms such as iOS and Android, an experienced developer for each would be needed, but with frameworks such as React Native and Flutter, it’s gotten much...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/react-native-flutter-streaming-workflows">5 Ways React Native &#038; Flutter Can Simplify Video Streaming Workflows</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Developing an application built to stream video can take a lot of work, especially for smaller development teams or those with minimal video technical expertise. Normally, to build on platforms such as iOS and Android, an experienced developer for each would be needed, but with frameworks such as React Native and Flutter, it’s gotten much easier to support more platforms with less. There are many benefits to utilizing these frameworks within a streaming workflow, especially the fact that with React Native, you’re able to use the code you’ve deployed for your web platform across multiple device types. Additionally, with dedicated SDKs, developers can deploy faster and enable a consistent user experience across all devices.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<p>In this blog post, we&#8217;ll explore the benefits and drawbacks of utilizing React Native or Flutter for video streaming workflows. Additionally, we&#8217;ll examine how Bitmovin&#8217;s SDKs further enhance the development process.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">1. <strong>Simplifying Cross-Platform Development</strong></h2>



<p>React Native and Flutter have been made specifically for cross-platform development, allowing developers to create video streaming apps that seamlessly run on multiple platforms without engaging with native frameworks. The benefit of React Native is that it uses a single codebase written in JavaScript to deliver consistent experiences across iOS and Android devices. It leverages platform-specific rendering APIs, resulting in a near-native user interface and performance. Similarly, Flutter enables the development of visually rich and performant video streaming apps for iOS, Android, and web platforms. With Flutter, teams can write code once and deploy it across various devices.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<p>However, while both React Native and Flutter allow you to implement a consistent view across platforms, there are still slight differences in UI and behavior due to variations in native components and rendering approaches that may require additional effort to get right. Also, with Flutter being programmed in DART and their widget approach, there is a learning curve that needs to be tackled as it is a newer language compared to Javascript. To ensure the process is fluid, Developers must carefully test to ensure a seamless experience on different devices.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">2. <strong>Native-like Performance</strong></h2>



<p>Both React Native and Flutter offer native-like performance for video streaming apps. React Native utilizes native components, which allows it to leverage the device&#8217;s GPU for optimized video playback. This results in smooth and efficient streaming, ensuring that users enjoy their content without any performance hiccups.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" src="https://bitmovin.com/wp-content/uploads/2023/07/React-Native-image-for-view-points-4.png" alt="React Native,Flutter - Bitmovin" class="wp-image-264649" width="654" height="427" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/07/React-Native-image-for-view-points-4-300x196.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/07/React-Native-image-for-view-points-4.png?size=384x251&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/07/React-Native-image-for-view-points-4-768x501.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/07/React-Native-image-for-view-points-4-1536x1002.png?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/07/React-Native-image-for-view-points-4.png?lossy=2&amp;strip=1&amp;webp=1 1554w" sizes="(max-width: 654px) 100vw, 654px" /></figure>



<p>React Native UI Development View</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Flutter, on the other hand, takes a different approach. Flutter has its implementations of each UI control rather than deferring to those provided by the system. Content is drawn to a texture, and Flutter&#8217;s widget tree is kept entirely internal. This means there’s no place for an Android view to exist within Flutter’s internal model or to render them interleaved with Flutter widgets. If native UI components are needed, Flutter&#8217;s <a href="https://api.flutter.dev/javadoc/io/flutter/plugin/platform/PlatformView.html" target="_blank" rel="noreferrer noopener nofollow">PlatformView</a> comes in handy. This component maps to the native View and UIView components on Android and iOS, allowing development teams to utilize these Native UI components that would usually be used when building the apps natively on these operating systems.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<div style="height:0px" aria-hidden="true" class="wp-block-spacer"></div>



<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://bitmovin.com/wp-content/uploads/2023/07/Flutter-View-UI-workflow-1.png" alt="React Native,Flutter - Bitmovin" class="wp-image-264654" width="619" height="429" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/07/Flutter-View-UI-workflow-1-300x208.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/07/Flutter-View-UI-workflow-1.png?size=384x266&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/07/Flutter-View-UI-workflow-1-768x533.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2023/07/Flutter-View-UI-workflow-1.png?lossy=2&amp;strip=1&amp;webp=1 1080w" sizes="(max-width: 619px) 100vw, 619px" /></figure>



<p>Flutte Development UI workflow</p>



<p>On the contrary, it&#8217;s important to acknowledge that achieving true native performance can be challenging due to the additional abstraction layers introduced by these frameworks. While React Native and Flutter are built to optimize performance, there may be scenarios where fully native apps outperform them. In complex video streaming applications with intensive processing requirements, teams may need to implement platform-specific optimizations or utilize native code for performance-critical tasks. However, this won’t be as crucial for development teams where the priority is to optimize their process and time to launch quickly on more devices.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">3. <strong>Quicker Feedback and Updates</strong></h2>



<p>React Native&#8217;s <a href="https://reactnative.dev/blog/2016/03/24/introducing-hot-reloading" target="_blank" rel="noreferrer noopener nofollow">hot reloading</a> and Flutter&#8217;s <a href="https://docs.flutter.dev/tools/hot-reload" target="_blank" rel="noreferrer noopener nofollow">hot reload</a> features greatly enhance the development process for video streaming workflows. With hot reloading, React Native developers can instantly see code changes as they modify their app. This provides quick feedback and allows for rapid adjustments, leading to efficient iterations. Similarly, Flutter&#8217;s updating feature enables developers to view real-time updates to the app&#8217;s UI and behavior, making it easier to experiment with different video streaming features and refine the app&#8217;s functionality. These features streamline the development process for small teams, allowing them to iterate more efficiently and fine-tune their video streaming workflows.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Aside from this, managing the app&#8217;s versions and current state is important, as this approach could also lead to issues when making an update, as it can unintentionally cause bugs within the application environment and disrupt the app’s functionality if not maintained properly.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">4. <strong>Robust Features and Customizable UI</strong></h2>



<p>React Native and Flutter provide extensive UI components and customization options, enabling teams to create visually appealing and tailored user interfaces for their video streaming apps. React Native offers a wide range of community-driven components and libraries that can be easily integrated into the app. This allows developers to utilize existing solutions and deliver a better user experience.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<p>On the other hand, Flutter has a widget-based approach with a robust set of pre-built UI components that enable developers to customize them extensively. This simplifies the process and helps save time and effort when designing and implementing elements. Along with ease-of-use, teams will be able to develop a unique setup and incorporate branding aspects within the application.&nbsp;</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<p>The negative here is that even though teams can thoroughly customize features and elements, they should avoid overdoing it as it can lead to performance issues if the customizations are heavy and, in turn, affect the streaming experience for viewers.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading">5. <strong>Extensive Open-Source Ecosystem</strong></h2>



<p><a href="https://reactnative.dev/community/communities" target="_blank" rel="noreferrer noopener nofollow">React Native</a> and <a href="https://flutter.dev/community" target="_blank" rel="noreferrer noopener nofollow">Flutter</a> have large developer communities, providing access to plenty of libraries, tools, and resources. This allows small teams to leverage existing options and tap into community knowledge to overcome video streaming challenges. The communities provide ongoing support, ensuring platform updates, bug fixes, and performance optimizations. Support and guidance from a passionate developer network can make a huge difference, and this factor alone is why both of these frameworks have such widespread adoption.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<p>Regarding developer communities, check out <a href="https://community.bitmovin.com/" target="_blank" rel="noreferrer noopener">Bitmovin’s developer community</a>, which focuses on video streaming workflow aspects and questions on deploying Bitmovin’s solutions.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>Bitmovin’s Dedicated React Native and Flutter SDK</strong></h2>



<p>With our focus on simplifying the streaming process and enabling developers to stream on more platforms, our team has released our <a href="https://github.com/bitmovin/bitmovin-player-react-native" target="_blank" rel="noreferrer noopener nofollow">React Native SDK</a> and is currently working on a Flutter SDK. The React Native SDK offers a comprehensive suite of features specifically designed for integrating advanced video streaming functionalities into React Native applications. It handles critical aspects such as UI customization, video playback, adaptive streaming, content protection, and analytics, reducing the need for teams to build these components from scratch. The upcoming Flutter SDK will extend Bitmovin&#8217;s support to the Flutter framework, providing a powerful toolkit for building high-quality video streaming applications. These SDKs make it easier for development teams to deploy essential aspects and focus on building their app&#8217;s unique features.</p>



<div style="height:1px" aria-hidden="true" class="wp-block-spacer"></div>



<h2 class="wp-block-heading"><strong>Wrapping It Up (Pun Intended)</strong></h2>



<p>React Native and Flutter provide powerful solutions for simplifying video streaming workflows. The cross-platform capabilities, native-like performance, hot reloading for rapid iterations, customizable UI options, and extensive ecosystems make React Native and Flutter ideal for small teams or ones with limited video streaming workflow knowledge. Bitmovin&#8217;s React Native SDK and upcoming Flutter SDK further enhance and optimize the video streaming development process. By leveraging these frameworks and SDKs, teams can streamline their video streaming workflows, reduce development time, and deliver the highest quality of experience to their users.</p>



<p>Also, if you’d like to see how Bitmovin’s solution stack can benefit your streaming workflow – <a href="https://dashboard.bitmovin.com/signup" target="_blank" rel="noreferrer noopener">sign up for our 30-day free trial</a>.</p>



<p></p>



<p></p>



<p></p>



<p></p>



<p></p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/react-native-flutter-streaming-workflows">5 Ways React Native &#038; Flutter Can Simplify Video Streaming Workflows</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://bitmovin.com/react-native-flutter-streaming-workflows/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Test Your Streams in Our Player on iOS and Android with the Bitmovin Mobile Apps</title>
		<link>https://bitmovin.com/test-streams-player-ios-android-bitmovin-mobile-apps</link>
		
		<dc:creator><![CDATA[Mario Graf]]></dc:creator>
		<pubDate>Fri, 24 Aug 2018 11:20:47 +0000</pubDate>
				<category><![CDATA[Product Updates]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[iOS]]></category>
		<guid isPermaLink="false">http://bitmovin.com/?p=24116</guid>

					<description><![CDATA[<p>Quickly and easily check your video streams in our Native SDKs with the Bitmovin mobile apps using your own streams, DRM licenses and Ad servers If you are considering using the Bitmovin Player in your native app then the first thing you should do is download the Android and/or the iOS Bitmovin app to get...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/test-streams-player-ios-android-bitmovin-mobile-apps">Test Your Streams in Our Player on iOS and Android with the Bitmovin Mobile Apps</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" class="alignnone size-full wp-image-24120" src="https://bitmovin.com/wp-content/uploads/2018/08/Main-Images-DemoAppUI-1.jpg" alt="React Native,Flutter - Bitmovin" width="800" height="400"></p>
<blockquote><p>Quickly and easily check your video streams in our Native SDKs with the Bitmovin mobile apps using your own streams, DRM licenses and Ad servers</p></blockquote>
<p>If you are considering using the Bitmovin Player in your native app then the first thing you should do is download the Android and/or the iOS Bitmovin app to get a feeling for what you can expect from the Bitmovin Player when you integrate it into your own app. Our freshly redesigned apps are built specifically to help you to quickly and easily assess and test the Bitmovin Player before you invest time into integration.<br />
Answer questions like: Will your streams play in the Bitmovin Player on Android and iOS? How does DRM work? What are the advertising capabilities and how are they configured? Can you style the UI to fit your brand? All of these questions can be answered in a few minutes using your own streams, DRM licenses and ad sources so you can be sure that the Bitmovin Player is the right player to integrate into your project.</p>
<div style="text-align: center; margin-bottom: 50px;">
<h3>Download the App now:</h3>
<p>&nbsp;</p>
<div style="text-align: center;"><a style="display: inline-block;" href="https://itunes.apple.com/us/app/bitmovin-player/id1245174386?mt=8" target="_blank" rel="noopener noreferrer nofollow"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-24208" src="https://bitmovin.com/wp-content/uploads/2018/08/button-download-app-store.png" alt="React Native,Flutter - Bitmovin" width="192" height="60"></a>      <a style="display: inline-block;" href="https://play.google.com/store/apps/details?id=com.bitmovin.playerdemo&amp;hl=en_US" target="_blank" rel="noopener noreferrer nofollow"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-24209" src="https://bitmovin.com/wp-content/uploads/2018/08/button-download-google-play.png" alt="React Native,Flutter - Bitmovin" width="192" height="60"></a></div>
<p>and follow along on our brief product tour.
</p></div>
<p>&nbsp;</p>
<div style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-24143" style="border: 1px solid #d6d6d6; margin: 0 auto;" src="https://bitmovin.com/wp-content/uploads/2018/08/home-screen-1-355x1024.png" alt="React Native,Flutter - Bitmovin" width="355" height="1024"></div>
<h2>Product Tour: How to Test Video in your Mobile App with Bitmovin SDKs</h2>
<p>When you enter the app, one of the easiest ways to get started is to test your video stream in the Bitmovin Mobile Player, seeing if our mobile SDKs will support your stream. Hit “Own Stream” and copy and paste your file URL in the Stream Section at the top. After you hit “Play” you’ll see your video instantly play in the Bitmovin Player.<br />
You can also check your stream for your web version here: <a href="https://bitmovin.com/demos/stream-test" target="_blank" rel="noopener noreferrer">Stream Test for DASH, HLS and Progressive</a></p>
<div style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-24143" style="border: 1px solid #d6d6d6; margin: 0 auto;" src="https://bitmovin.com/wp-content/uploads/2018/08/video-details-1-1-576x1024.png" alt="React Native,Flutter - Bitmovin" width="400" height="711"></div>
<h2><a href="https://bitmovin.com/demos/player-ui-styling" target="_blank" rel="noopener noreferrer">UI Styling</a></h2>
<p>A unified user interface ensures that your player will look the same across devices while maintaining brand standards. When you try our streaming video demos, you’ll see a customization option on the “Video Details” screen labeled, “Theme.” Select this option on the bottom left, and you’ll be able to apply a skin that changes the color of the user interface. An added benefit? This styling is enabled via CSS, meaning your developers won’t or devote additional time to custom projects.<br />
<i>Please note, our app is an easily customizable with fully maintained code that you can build your mobile video experience on, but if you’d like to vary the look, feel, and functionality of your mobile app, we do offer sample open-source code. Developers can completely customize apps using our open source video projects.</i></p>
<div style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-24140" style="border: 1px solid #d6d6d6; margin: 0 auto;" src="https://bitmovin.com/wp-content/uploads/2018/08/drm-scheme-1-576x1024.png" alt="React Native,Flutter - Bitmovin" width="400" height="711"></div>
<h2><a href="https://bitmovin.com/demos/drm" target="_blank" rel="noopener noreferrer">DRM Stream Test</a></h2>
<p>Back in the streaming test area, labeled “Own Stream” there are other options for you to try. Security is paramount to many of our customers, so we’ve made it easy to test an encrypted DRM stream live. Simply copy and paste your license or certificate URL to see if your DRM system and codecs are supported. Integrating DRM into your mobile video app workflow is much easier than you think, and you’re always protected. (<a href="https://bitmovin.com/state-web-drm-whitepaper/">Download our DRM Whitepaper</a> or watch our Webinar: <a href="https://bitmovin.com/drm-basics-with-irdeto-bitmovin/">DRM Basics with Irdeto &amp; Bitmovin</a>)</p>
<div style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-24142" style="border: 1px solid #d6d6d6; margin: 0 auto;" src="https://bitmovin.com/wp-content/uploads/2018/08/schedule-ad-1-576x1024.png" alt="React Native,Flutter - Bitmovin" width="400" height="711"></div>
<h2><a href="https://bitmovin.com/demos/ad-scheduling" target="_blank" rel="noopener noreferrer">Ad Scheduling</a></h2>
<p>Also within the area of the app labeled “Own Stream” is our mobile ad scheduling demo. Test our seamless ad insertion and see how our app easily integrates with different advertising standards (VAST, VPAID, IMA, and VMAP). At the bottom of your screen, hit the “+” next to “Schedule Ad” and you’ll be able to set the position and location of your video advertisement. Then, paste the URL and then hit “Play” to see your ad inserted into our standard demo video at the time and location you requested. Push the test to the limits and schedule up to three ads at any time.</p>
<div style="text-align: center;"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-24137" style="border: 1px solid #d6d6d6; margin: 0 auto;" src="https://bitmovin.com/wp-content/uploads/2018/08/cast-1-576x1024.png" alt="React Native,Flutter - Bitmovin" width="400" height="711"></div>
<h2><a href="https://bitmovin.com/demos/chromecast" target="_blank" rel="noopener noreferrer">Chromecast</a> and iOS Airplay</h2>
<p>On the “Video Details” screen where you previously analyzed the essential properties of your files and played around with different themes, there is another Bitmovin application to try out! More users are discovering and watching videos on their phones, but sometimes going fullscreen isn’t enough- they want to share these experiences with those around them. This is where video casting and mirroring services like Chromecast and Airplay come in handy. When testing our mobile video app, throw your video stream up on a connected TV in your workplace by simply hitting the “Cast” or “Airplay” button. After confirming the TV name and network, your content will play on a larger screen with quality and resolution intact.</p>
<h2>Which Video App Demos Should You Try First?</h2>
<p>Testing functionality is a vital part of the development process. But when figuring out <a href="https://bitmovin.com/how-to-build-out-video-capabilities-for-your-app/" target="_blank" rel="noopener noreferrer">how to add video capabilities</a>, you’ll want to “try before you buy” so that you and your team see results before investing. If you’re in Marketing, make sure to try our UI styling demo. If you’re in Media, the Ad Scheduler and AirPlay functionalities may be attractive. Don’t be shy, get in there and play around! Make it a collaborative group activity at your next stand-up. We’ll be here to answer any questions you may have along the way.<br />
Remember, mobile app development can already be a costly undertaking. And now, to stay competitive, your business needs video too. Giving your developers the best tools is a no-brainer, but project delays are inevitable when you develop everything in-house. Using video SDKs, your business becomes more efficient and can better service customers long-term. When customers have a fantastic experience (and spend more time in your app,) advertisers and investors are happy too!</p>
<h3 style="text-align: center;">See It For Yourself:</h3>
<p>&nbsp;</p>
<div style="text-align: center;"><a style="display: inline-block;" href="https://itunes.apple.com/us/app/bitmovin-player/id1245174386?mt=8" target="_blank" rel="noopener noreferrer nofollow"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-24208" src="https://bitmovin.com/wp-content/uploads/2018/08/button-download-app-store.png" alt="React Native,Flutter - Bitmovin" width="192" height="60"></a>      <a style="display: inline-block;" href="https://play.google.com/store/apps/details?id=com.bitmovin.playerdemo&amp;hl=en_US" target="_blank" rel="noopener noreferrer nofollow"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-24209" src="https://bitmovin.com/wp-content/uploads/2018/08/button-download-google-play.png" alt="React Native,Flutter - Bitmovin" width="192" height="60"></a></div>
<p>The post <a rel="nofollow" href="https://bitmovin.com/test-streams-player-ios-android-bitmovin-mobile-apps">Test Your Streams in Our Player on iOS and Android with the Bitmovin Mobile Apps</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Adjust to Viewers as They Watch (and as They Don&#8217;t) with User Aware Adaptation</title>
		<link>https://bitmovin.com/user-aware-video-player</link>
		
		<dc:creator><![CDATA[Mario Graf]]></dc:creator>
		<pubDate>Fri, 01 Jun 2018 10:56:22 +0000</pubDate>
				<category><![CDATA[Product Updates]]></category>
		<category><![CDATA[video analytics]]></category>
		<guid isPermaLink="false">http://bitmovin.com/?p=23592</guid>

					<description><![CDATA[<p>The Bitmovin Player is now equipped with facial recognition software that allows the player logic to adapt to viewers behavior. A Little About User Interfaces Ever since the world’s first computer, ENIAC (Electronic Numerical Integrator and Computer), went online in 1946, computers have been designed to respond to human input. ENIAC’s human interface was a...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/user-aware-video-player">Adjust to Viewers as They Watch (and as They Don&#8217;t) with User Aware Adaptation</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="size-full wp-image-23600 alignnone" src="https://bitmovin.com/wp-content/uploads/2018/06/User-aware-main.png" alt="User aware adaptation in Bitmovin Player" width="800" height="400" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/User-aware-main-300x150.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/User-aware-main.png?size=384x192&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/User-aware-main-768x384.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/User-aware-main.png?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<blockquote><p>The <a href="https://bitmovin.com/video-player-datasheet/">Bitmovin Player</a> is now equipped with facial recognition software that allows the player logic to adapt to viewers behavior.</p></blockquote>
<h2>A Little About User Interfaces</h2>
<p>Ever since the world’s first computer, <a href="https://en.wikipedia.org/wiki/ENIAC" target="_blank" rel="noopener noreferrer nofollow">ENIAC</a> (Electronic Numerical Integrator and Computer), went online in 1946, computers have been designed to respond to human input. ENIAC’s human interface was a set of large plugboards that resembled a telephone exchange. Soon after that the keyboard became the standard input mechanism, and then with the invention of the GUI more intuitive devices were developed such as the mouse, the trackball, the stylus and then later the touch screen. In the last decade the development and scope of human interface technology has expanded beyond hand controlled input devices to include movement sensors, voice control and video recognition. This last point, video recognition, has been the focus of some exciting feature development in the Bitmovin Player, opening up new opportunities for video content providers to interact with their audience.</p>
<h2>What is Video Recognition Software?</h2>
<p>To explain it simply, video recognition software can analyse a video and identify specific objects within the video and then track them as they move through the frame. The word “object” for these purposes could be anything that the software has been taught how to recognize. This could include people, letters or numbers, cars or animals or any number of other visually elements within the video. Facial recognition (sometimes called <a href="https://en.wikipedia.org/wiki/Face_detection" target="_blank" rel="noopener noreferrer nofollow">face detection</a>) is a related technology that has has it’s development accelerated with the help of artificial intelligence and can be used, not just for identifying people, but also for detecting specific facial expressions or facial movements. This level of recognition can be very important for the context of your video content and create significant opportunities to increase your viewers QoE.<br />
<img loading="lazy" decoding="async" class="size-full wp-image-23596 alignnone" src="https://bitmovin.com/wp-content/uploads/2018/06/Camera-detection.jpg" alt="Camera and video detection software" width="800" height="421" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/Camera-detection-300x158.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/Camera-detection.jpg?size=384x202&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/Camera-detection-768x404.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/Camera-detection.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<h2>How we used this in the Bitmovin Player</h2>
<p>User Aware Adaptation is a feature that we have built (patent pending) by collecting data about the user itself and how the user is interacting with the video application. This data which is collected from the devices sensors is processed and used to build a realtime-updated model of the user and the users environment. With that system in place, the video player can use rule-based or machine learning mechanisms to drive decisions in a wide variety of modules and functions including: analytics, playback, advertising and adaptive logic.<br />
<a href="User aware video player"><img loading="lazy" decoding="async" class="size-full wp-image-23594 alignnone" src="https://bitmovin.com/wp-content/uploads/2018/06/UserAwarePlayer.jpg" alt="React Native,Flutter - Bitmovin" width="800" height="565" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/UserAwarePlayer-300x212.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/UserAwarePlayer.jpg?size=384x271&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/UserAwarePlayer-768x542.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2018/06/UserAwarePlayer.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<h2>Optimizing Your Video Delivery for Each User</h2>
<p>Video delivery optimization is one of the first practical applications that we have implemented with Bitmovin’s User Aware Video Delivery feature. This feature takes the user’s physical behaviour into account and adds that to the Bitmovin Player’s adaptation logic. This means that the player can make smart bandwidth saving decisions when opportunities arise. For example it can reduce the video quality (bitrate) and save bandwidth when it detects that the viewer is further away form the screen, or when the user is involved in a secondary activity and probably only listing to the audio, such as cooking while they watch a cooking show.</p>
<h2>Increasing Quality of Experience</h2>
<p>Another opportunity created by this feature is to improve your QoE score. Assuming your audience is comfortable with this level of communication and they agree to, or enable the features, then there is a huge range of creative possibilities in this category. You could increase the bitrate when you see the user is coming closer to the screen. You could pause the video if you see that the user has left the room, or fallen asleep and then resume when he or she returns their attention to the screen. You could reduce the volume when you see that the user has answered a telephone call and then return to normal volume when the call ends. You could even start to analyse the emotional reactions of your viewers and make content suggestions based on whether they laughed harder at Steve Martin or Robin Williams. Another possibility would be to build gesture controls into your player. This technology would theoretically allow you to create a video player that is driven by hand or even head gestures.</p>
<h2>Optimizing Your Advertising Revenue</h2>
<p>Obviously the potential for increasing ad revenue is another draw card for this new technology. By intelligently controlling the timing of your advertising, you can ensure that your ads are shown at times when they will have maximum impact. An obvious rule you could build into your workflow would be not to show ads if the viewer is out of the room or asleep. Other examples could be to show ads when the viewer has shown a positive facial reaction to a product placement within the video, or not to show specific advertising if the user is showing signs of distress or discomfort.</p>
<h2>What’s Next for User Aware Video?</h2>
<p>Bitmovin is a very customer driven company and our development roadmap is often guided by customer needs. User Aware Video is one of the exceptions. We have built this feature because we can see the huge number of practical applications and optimizations that is enables. The Bitmovin team is excited to see how our customers will put it to use, and what the results will be. If you are interested in finding out more about User Aware Video, contact the sales team for a demonstration.</p>
<div class="engbtn"><a href="https://bitmovin.com/contact-bitmovin/">Request a Demonstration</a></div>
<div></div>
<div>
<h2><strong>Video technology guides and articles</strong></h2>
<ul>
<li>Back to Basics: Guide to the <a href="https://bitmovin.com/html5-video-tag-guide/">HTML5 Video Tag </a></li>
<li><a href="https://bitmovin.com/vod-platforms/">What is a VoD Platform?</a> A comprehensive guide to Video on Demand (VOD)</li>
<li><a href="https://bitmovin.com/top-5-video-technology-trends/">Video Technology [2022]</a>: Top 5 video technology trends</li>
<li><a href="https://bitmovin.com/vp9-vs-hevc-h265/">HEVC vs VP9</a>: Modern codecs comparison</li>
<li>What is the <a href="https://bitmovin.com/av1/">AV1 Codec</a>?</li>
<li>Video Compression: <a href="https://bitmovin.com/encoding-definition-bitrates/">Encoding Definition and Adaptive Bitrate</a></li>
<li>What is <a href="https://bitmovin.com/adaptive-streaming/">adaptive bitrate streaming</a></li>
<li><a href="https://bitmovin.com/mkv-vs-mp4/">MP4 vs MKV</a>: Battle of the Video Formats</li>
<li><a href="https://bitmovin.com/video-streaming-models-svod-avod-tvod/">AVOD vs SVOD</a>; the “fall” of SVOD and Rise of AVOD &amp; TVOD (Video Tech Trends)</li>
<li><a href="https://bitmovin.com/dynamic-adaptive-streaming-http-mpeg-dash/">MPEG-DASH</a> (Dynamic Adaptive Streaming over HTTP)</li>
<li><a href="https://bitmovin.com/container-formats-fun-1/">Container Formats</a>: The 4 most common container formats and why they matter to you.</li>
<li><a href="https://bitmovin.com/qoe-why-quality-video-matters/">Quality of Experience</a> (QoE) in Video Technology [2022 Guide]</li>
</ul>
</div>
<p>The post <a rel="nofollow" href="https://bitmovin.com/user-aware-video-player">Adjust to Viewers as They Watch (and as They Don&#8217;t) with User Aware Adaptation</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Delivering high quality video with HTML5, Android, iOS &#038; Smart TV SDKs</title>
		<link>https://bitmovin.com/delivering-high-quality-video-ios-android-sdks</link>
		
		<dc:creator><![CDATA[Mario Graf]]></dc:creator>
		<pubDate>Tue, 12 Dec 2017 09:02:15 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[video player]]></category>
		<guid isPermaLink="false">http://bitmovin.com/?p=21969</guid>

					<description><![CDATA[<p>Delivering video to every device, every platform and every browser has become one of the biggest challenges in video. OTT, TVE and SVOD Traditional video entertainment continues to be disrupted by Subscription Video On Demand (SVOD) services in major markets worldwide and Pay TV service operators and broadcasters fully understand that OTT and TVE are...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/delivering-high-quality-video-ios-android-sdks">Delivering high quality video with HTML5, Android, iOS &#038; Smart TV SDKs</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><a href="https://bitmovin.com/wp-content/uploads/2017/12/800-multi-screen.jpg"><img loading="lazy" decoding="async" class="size-large wp-image-21981 alignnone" src="https://bitmovin.com/wp-content/uploads/2017/12/800-multi-screen-1024x379.jpg" alt="React Native,Flutter - Bitmovin" width="1024" height="379" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/800-multi-screen-300x111.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/800-multi-screen.jpg?size=384x142&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/800-multi-screen-768x284.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/800-multi-screen-1024x379.jpg?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/800-multi-screen.jpg?lossy=2&amp;strip=1&amp;webp=1 1200w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></h2>
<blockquote><p>Delivering video to every device, every platform and every browser has become one of the biggest challenges in video.</p></blockquote>
<h2>OTT, TVE and SVOD</h2>
<p>Traditional video entertainment continues to be disrupted by Subscription Video On Demand (SVOD) services in major markets worldwide and Pay TV service operators and broadcasters fully understand that OTT and TVE are the keys to sustaining user engagement and revenue growth.<br />
Frost &amp; Sullivan forecasts that SVOD subscriptions will double from more than 500 million accounts in 2015 to over 1 billion by 2021. While OTT- capable consumer device sales is projected to grow from 2.9 billion units in 2016 to 3.5 billion units by 2021. Smartphones account for 72% of video-enabled consumer electronic devices sold in 2016, compared to 7% Smart TVs and 2% Media Streaming Devices.<br />
Mobile device usage clearly dominates the devices space and these are some of the most finicky devices to target, especially as fragmented platforms dominate the space.<br />
<a href="https://bitmovin.com/wp-content/uploads/2017/12/device-shipments.jpg"><img loading="lazy" decoding="async" class="wp-image-21970 size-full alignnone" src="https://bitmovin.com/wp-content/uploads/2017/12/device-shipments.jpg" alt="Video player devices shipped in 2016" width="748" height="508" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/device-shipments-300x204.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/device-shipments.jpg?size=384x261&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/device-shipments.jpg?lossy=2&amp;strip=1&amp;webp=1 748w" sizes="(max-width: 748px) 100vw, 748px" /></a><br />
&nbsp;<br />
<span style="font-weight: 400;">VR and 360 video is another growth area that further complicates the issue. Sales for high end headsets such as Samsung Gear VR, Oculus Rift and Google Daydream boomed in 2016. But most analysts are estimating over 95% of immersive device sales in 2017 will be for mobile based headsets, with Google Cardboard being by far the most popular. Most of these lower end devices will support almost any modern mobile device.</span></p>
<h3>Meeting viewer expectations everywhere</h3>
<p>The implication of these surging numbers for content providers, is that viewers, who are increasingly more comfortable with “TV anywhere”, expect the viewing experiences to seamlessly transfer across devices &#8211; not only with respect to the content awareness, but also the look &amp; feel and functionality of the playback solution.<br />
Delivering a high quality video experience to users across multiple screens means dealing with multiple devices, multiple operating systems and multiple browsers. A comprehensive solution that maximizes quality and minimizes your costs will require a combination of multiple standards and codecs at the encoding stage, a versatile and universally compatible playback solution and a workflow that can scale to your needs, with enough redundancy to ensure a consistent service.</p>
<h2>Adaptive Bitrate Streaming</h2>
<h3>Playback screen sizes and bitrates</h3>
<p><a href="https://bitmovin.com/adaptive-streaming/">Adaptive Bitrate Streaming (ABR)</a> was created specifically to deal with serving video to a variety of different screens and these days is a fairly well understood concept. The actual “adaptation” is performed on the user’s device, as the adaptive player recognizes changes to its environment (e.g., bandwidth drops) and downloads video chunks that best fits the situation. The most significant factors in this process are screen size and bandwidth. As bandwidth changes, so too can the bitrate (and the quality) of the video. As the screen size changes, the player will switch to a resolution and bitrate that delivers the best possible quality without the risk of buffering.</p>
<h3>Adaptation logic and custom logic</h3>
<p>The logic that controls the adaptation lives within the software that drives your video player. There are several factors to be considered such as startup quality and buffer controls as well as specific characteristics that may be unique to your users.<br />
Generally speaking users expect streamed videos to start playback instantly, or within a fraction of a second. In fact research shows that if the startup time is longer than just 2 seconds, around 50% of users will switched to other content or services. A state of the art <a href="https://bitmovin.com/video-player/">video player</a> will allow this adaptation logic to be customized to best serve your users. By <a href="https://bitmovin.com/custom-adaptive-bitrate-logic-html5-video-player/">customizing your adaptation logic</a> to the data you collected on your user’s behaviour and environment (i.e. device or screen), you can ensure that your video will start at the best possible quality but at a bitrate that is low enough to ensure an instant start up.</p>
<h2>The User Interface</h2>
<h3>Unifying the look and feel of your player across all devices</h3>
<p>The presentation of your interface should also be consistent across all devices and for many this will include native mobile applications, both Android and iOS. Everything from the color and style of your buttons, to the menu options in the advanced config to the size and position of your logo. Furthermore, as screens get smaller it is likely that your player will need to display fewer controls, or hide them in menus.</p>
<h3>Web HTML5, Android, iOS, Smart TVs and a unified config</h3>
<p>Although this challenge seems quite trivial on the surface, as you look at the practical side of building the user interface, and updating it across all devices each time there is a change, the UI can become a potential block and tie up a lot of resources. To solve this problem, some high end <a href="https://bitmovin.com/video-player/">video players now offer unified configurations for their UI</a> which streamlines the process of implementing and maintaining the look and feel through a central file. This type of solution saves resources and elso ensures a completely consistent presentation without the risks involved with maintaining multiple files.<br />
<a href="https://bitmovin.com/wp-content/uploads/2017/12/mobile-sdk-web.jpg"><img loading="lazy" decoding="async" class="size-full wp-image-21978 alignnone" src="https://bitmovin.com/wp-content/uploads/2017/12/mobile-sdk-web.jpg" alt="Unified API, config and UI for every platform" width="800" height="467" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/mobile-sdk-web-300x175.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/mobile-sdk-web.jpg?size=384x224&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/mobile-sdk-web-768x448.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/mobile-sdk-web.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<h2>Which Files Play On Which Devices</h2>
<h3>HLS and MPEG-DASH to cover all scenarios economically</h3>
<p>At the beginning of this article we started with the playback and adaptation required to deliver a quality experience on all devices. With each adaptation the player makes, a different file needs to be downloaded and played, and this is where your encoding workflow needs to be prepared to cover all the necessary browsers and devices, both to ensure complete coverage, but also to minimize costs.<br />
The two most common ABR standards in use today are MPEG-DASH and HLS. HLS is a widely supported format developed by Apple, but shows no likelihood of becoming an official standard. On the otherside MPEG-DASH is an official standard, and so is seeing a steady growth in support and is currently supported everywhere other than iOS. By using these two standards in combination you can deliver video to every device and browser, and at the same time optimize your costs, and user QoE scores.</p>
<h3>Using advanced codecs to improve quality and reduce CDN costs</h3>
<p>The choice of <a href="https://bitmovin.com/av1-multi-codec-dash-dataset/">codec</a> (which is essentially the way you compress your video file), will impact your workflow in a variety of ways. As the industry pushes the envelope in terms of user experience with 360 video and Super HD formats, compression has become a hot topic. Recent uncertainty around HEVC royalties have arisen at around the same time as the release of the new VP9 codec which offers an attractive alternative. Although VP9 is not 100% cross compatible, it covers a surprisingly large slice of the pie (see figure 3), and should be considered both for it’s ability to deliver a better picture quality, and it’s potential to save up to 50% of your bandwidth usage compared to H.264/AVC.<br />
<a href="https://bitmovin.com/wp-content/uploads/2017/12/browser-graph-multi-codec.jpg"><img loading="lazy" decoding="async" class="size-full wp-image-21979 alignnone" src="https://bitmovin.com/wp-content/uploads/2017/12/browser-graph-multi-codec.jpg" alt="Codec compatibility by browser" width="800" height="519" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/browser-graph-multi-codec-300x195.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/browser-graph-multi-codec.jpg?size=384x249&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/browser-graph-multi-codec-768x498.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/12/browser-graph-multi-codec.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<h2>Solving The Big Problems</h2>
<h3>Bigger and bigger file sizes</h3>
<p>As discussed above, VP9 and other advanced codecs are a big part of the solution when we start looking at the growing problem of large resolution video files. Another development on the horizon in the field of 360 &amp; VR video is tile based streaming. The nature of 360 video creates much larger files sizes simply due to the extra pixels required for a spherical image. Many of these pixels are outside of the viewport and never seen. This causes unnecessarily high bandwidth requirements and CDN costs.<br />
Tile based streaming is a revolutionary technique that solves this problem by breaking a 360° video into “tiles” and streams the highest quality only to visible sections of the video, and uses lower quality (smaller) files for unseen tiles. By saving significant amounts of bandwidth, tile based streaming promised the potential to stream 360 with a much higher QoE to all devices, particularly mobile devices which usually have slower connection speed. At the same time these bandwidth savings can dramatically reduce bandwidth costs.</p>
<h3>DRM and content protection across multiple device/OS</h3>
<p><a href="https://bitmovin.com/drm/">Digital Rights Management (DRM)</a> is a mandatory requirement for most content providers and creates another set of challenges to delivering a completely cross browser/device solution. DRM is a digital license system that allows content creators and distributors to control who can use their content, and how they can use it. To protect content with DRM, each video is encrypted with media keys during the encoding stage.<br />
There are a variety of different DRM technologies available, and each one has limitations which forces content providers to incorporate a “multi-DRM” solution to achieve complete coverage. For a comprehensive explanation of DRM we recommend the Streaming Media DRM Superguide, or the Bitmovin DRM Whitepaper which can be downloaded at: bitmovin.com/DRM</p>
<h3>Analytics will light the path</h3>
<p>As technology and content offerings continue to develop, so will user behaviour. New devices will become more popular, browsers will update and improve user behaviour will change accordingly. As these new trends develop, successful content providers will adapt both their techniques and technologies to keep the users happy.<br />
The importance of analytics will become more and more important as these changes occur, and the content providers who are able to read the trends and adapt quickly will come out on top. <a href="https://bitmovin.com/video-analytics/">Analytics software for video</a> needs to measure the performance and behaviour of just about everything mentioned in these article. Everything from the rise in popularity of a new device, to a particular section in a video that seems to buffer more often that average. Analytics will deliver the actionable advice that will allow providers to achieve and maintain complete cross browser and device compatibility.</p>
<h2>Summary of the Bitmovin solution</h2>
<p>As part of the team that developed the MPEG-DASH standard, Bitmovin understands adaptive streaming better than anyone in the world. We were the first to market with a commercial MPEG-DASH player, the first to encode video at 100x realtime making our encoder the fastest in the world, the first to release a completely cross browser 360 video player and more recently we delivered the world’s first live streaming AV1 demonstration, winning the Streaming Media “Best in Show” award for 2017.<br />
As a genuine innovator in the field of adaptive streaming, Bitmovin has always considered cross browser and device compatibility as a requirement for every product we have developed. This has driven us to create a complete range of solutions for online video that includes encoding, playback, analytics, DRM, advertising, API, <a href="https://bitmovin.com/beginners-guide-bitmovins-android-sdk-android-tv-platforms/">mobile SDKs</a> and incorporates technologies such as HLS, MPEG-DASH, HEVC, VP9 and many more.<br />
For more information, contact us to arrange a meeting with one of our product experts.</p>
<div class="engbtn"><a href="https://bitmovin.com/contact-bitmovin/">Arrange a meeting</a></div>
<p>The post <a rel="nofollow" href="https://bitmovin.com/delivering-high-quality-video-ios-android-sdks">Delivering high quality video with HTML5, Android, iOS &#038; Smart TV SDKs</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How the iOS 11 Release with HLS/HEVC Support will Help to Save Storage &#038; CDN Costs</title>
		<link>https://bitmovin.com/ios-11-release-hlshevc-support-will-help-save-storage-cdn-costs</link>
		
		<dc:creator><![CDATA[Mario Graf]]></dc:creator>
		<pubDate>Tue, 12 Sep 2017 09:40:33 +0000</pubDate>
				<category><![CDATA[Developers]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[video encoding]]></category>
		<guid isPermaLink="false">http://bitmovin.com/?p=21463</guid>

					<description><![CDATA[<p>At WWDC17 Apple presented updates and new features that will be available to their products soon including HEVC in HLS This year Apple announced support for HEVC/H.265 for macOS High Sierra and iOS11. The release of iOS 11 is expected to happen soon after Apple&#8217;s iPhone 8 launch event on September 12th. Considering the fact...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/ios-11-release-hlshevc-support-will-help-save-storage-cdn-costs">How the iOS 11 Release with HLS/HEVC Support will Help to Save Storage &#038; CDN Costs</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><script src="https://bitmovin-a.akamaihd.net/bitmovin-player/stable/7/bitmovinplayer.js"></script><br />
<img loading="lazy" decoding="async" class="size-full wp-image-21485 alignnone" src="https://bitmovin.com/wp-content/uploads/2017/09/1200-feature-HEVC.jpg" alt="React Native,Flutter - Bitmovin" width="1200" height="600" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/1200-feature-HEVC-300x150.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/1200-feature-HEVC.jpg?size=384x192&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/1200-feature-HEVC-768x384.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/1200-feature-HEVC-1024x512.jpg?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/1200-feature-HEVC.jpg?lossy=2&amp;strip=1&amp;webp=1 1200w" sizes="(max-width: 1200px) 100vw, 1200px" /></p>
<blockquote><p>At WWDC17 Apple presented updates and new features that will be available to their products soon including HEVC in HLS</p></blockquote>
<p>This year Apple announced <a href="https://bitmovin.com/wwdc17-hevc-hls-apple-just-announced-feature-support-box/" target="_blank" rel="noopener noreferrer">support for HEVC/H.265 for macOS High Sierra and iOS11</a>. The release of iOS 11 is expected to happen soon after Apple&#8217;s iPhone 8 launch event on September 12th. Considering the fact that iOS users usually upgrade their system pretty fast, HEVC playback will soon be available on hundreds of million devices. This is evident, as only five months after iOS 10 was released to the public, it was installed on about <a href="https://www.macrumors.com/2017/02/22/ios-10-nearly-80-percent-adoption/" target="_blank" rel="noopener noreferrer nofollow">80% of active iOS devices</a>. In January 2016 Apple <a href="https://www.macrumors.com/2016/01/26/apple-1-billion-active-device-installed-base/" target="_blank" rel="noopener noreferrer nofollow">announced it had over 1 billion active iOS devices</a>. There was no updated number after that, however, when considering Apple is selling tens of millions of iOS devices each quarter, it&#8217;s reasonable to assume the total is above 1 billion by now.<br />
That are numbers too large to be ignored considering the fact that HEVC/H.265 can reach up to 50% bitrate savings compared to AVC/H.264 according to <a href="https://medium.com/netflix-techblog/a-large-scale-comparison-of-x264-x265-and-libvpx-a-sneak-peek-2e81e88f8b0f" target="_blank" rel="noopener noreferrer nofollow">Netflix’s experiments</a>. This will allow to stream better quality to customers and saves storage and CDN costs for content providers.<br />
The following image shows a quality comparison between HEVC/H.265 and AVC/H.264 encoded at 1000kbps. The quality improvement is clearly visible as there are multiple encoding artifacts visible in the AVC/H.264 version. Also if you look at the details of the coat or the lines in the background one can clearly see how HEVC/H.265 manages to preserve more details.<br />
<a href="https://bitmovin.com/wp-content/uploads/2017/09/comparison_1000kbps.jpg"><img loading="lazy" decoding="async" class="wp-image-21492 size-large alignnone" src="https://bitmovin.com/wp-content/uploads/2017/09/comparison_1000kbps-1024x427.jpg" alt="React Native,Flutter - Bitmovin" width="1024" height="427" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/comparison_1000kbps-300x125.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/comparison_1000kbps.jpg?size=384x160&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/comparison_1000kbps-768x320.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/comparison_1000kbps-1024x427.jpg?lossy=2&amp;strip=1&amp;webp=1 1024w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/comparison_1000kbps-1536x640.jpg?lossy=2&amp;strip=1&amp;webp=1 1536w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/09/comparison_1000kbps.jpg?lossy=2&amp;strip=1&amp;webp=1 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></p>
<h2>Multi Codec Streaming</h2>
<p>With Bitmovin you can encode content with different codecs like AVC/H.264, HEVC/H.265, <a href="https://bitmovin.com/mpeg-dash-vp9-vod-live/" target="_blank" rel="noopener noreferrer">VP9</a>, and <a href="https://bitmovin.com/bitmovin-supports-av1-encoding-vod-live-joins-alliance-open-media/" target="_blank" rel="noopener noreferrer">recently also AV1</a>. This allows to use the best codec for the platform when streaming content to your users. HEVC/H.265 and VP9 are more efficient than AVC/H.264 allowing to deliver higher quality with the same bitrate, or save costs by delivering similar quality to less bandwidth. VP9 is supported on Google Chrome, Firefox and Android devices which allows you to stream VP9 to about 70% of your users. For Safari there was still the need to use AVC/H.264 until now. Having the fast adoption rates for new iOS versions in mind, it is expected for iOS 11 to be installed on the vast majority of iOS devices soon, allowing to save bandwidth, storage and CDN costs by utilizing its HEVC/H.265 support.<br />
Generating HEVC/H.265 content with fMP4 segments works out-of-the-box for HLS with Bitmovin as we do that today for HEVC MPEG-DASH content already. The trick to make it available as an HLS asset is just to reference the segments in the HLS playlist files in the same way as we do it today with fMP4 in HLS.</p>
<h2>Playback of HLS with HEVC</h2>
<p>With the <a href="https://bitmovin.com/video-player-datasheet/">Bitmovin Player</a> you can deliver HEVC based HLS streams to a wide range of supported devices, enabling you to provide a better video quality to your customers, or to save storage and CDN costs by delivering the same video quality at significantly lower <a href="https://go.bitmovin.com/per-title-ladder-benchmark-tool">bitrates</a>.<br />
No matter if you build native iOS applications using our iOS SDK, or if you want to enable HLS HEVC playback in the browser, the Bitmovin Player provides you broad device and platform coverage for HLS content encoded with HEVC. Besides playback of HEVC based HLS streams in Safari on macOS High Sierra and iOS, the web-based Bitmovin Player is also able to play those streams on any browser which comes with built in HEVC support like the Microsoft Edge Browser.<br />
If you have iOS 11 already installed on your device, you can test any HLS HEVC stream in our <a href="https://itunes.apple.com/us/app/bitmovin-player/id1245174386" target="_blank" rel="noopener noreferrer nofollow">iOS SDK demo application available in the App Store</a>. With macOS High Sierra or iOS 11 installed, you can also test your streams in Safari using our <a href="https://bitmovin.com/hls-mpeg-dash-test-player/" target="_blank" rel="noopener noreferrer">online demo section</a>.</p>
<h2>Test Vectors</h2>
<p>There are a few ways to deliver HEVC content to users:</p>
<ol>
<li>HEVC in HLS using MPEG-2 Transport Stream chunks, which Apple doesn’t support,</li>
<li>HEVC in HLS using fMP4 segments, which is what Apple announced on WWDC17 and our player supports,</li>
<li>HEVC in MPEG-DASH using fMP4 segments.</li>
</ol>
<p>All of these options can already be created using the Bitmovin Encoder. For playback, it depends on the HEVC support in the browser. Obviously, Apple added this for Safari on macOS 11 and High Sierra, but also Edge on Windows 10 already supports it. HEVC can be streamed using HLS or MPEG-DASH to Edge with the Bitmovin Player.<br />
We provide test vectors for the three above mentioned types for public testing:</p>
<ul>
<li><a href="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" rel="nofollow noopener" target="_blank">HEVC HLS with fMP4</a></li>
<li><a href="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream.mpd" rel="nofollow noopener" target="_blank">HEVC MPEG-DASH</a></li>
</ul>
<p>Beside HEVC/H.265 we can also encode the same asset to AVC/H.264 and <a href="https://bitmovin.com/mpeg-dash-vp9-vod-live/" target="_blank" rel="noopener noreferrer">VP9 which we introduced earlier this year</a>. With this configuration you can deliver the best codec to every device, improving quality and save costs. VP9 is supported on multiple platforms including Google Chrome, Firefox and Android devices and thus by about 70% of your users. Take in consideration that with VP9 you can save up to 50% on bitrate delivering similar quality you could save about 35% on CDN costs.<br />
Here are some more test vectors including the VP9 codec:</p>
<ul>
<li><a href="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/stream.mpd" target="_blank" rel="noopener noreferrer nofollow">Multi-Codec (AVC/H.264, HEVC/H.265, VP9)</a></li>
<li><a href="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/stream_vp9.mpd" target="_blank" rel="noopener noreferrer nofollow">VP9</a></li>
</ul>
<h2>Demo for HEVC HLS:</h2>
<div id="player"></div>
<p><script type="text/javascript"><br />
var conf = {<br />
    key: '89f6ed6c-ab0e-46c2-ac47-5665e60c3c41',<br />
    source: {<br />
      title: 'Art of Motion - HEVC HLS',<br />
      hls: 'https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8',<br />
      poster: 'https://bitmovin-a.akamaihd.net/content/art-of-motion_drm/art-of-motion_poster.jpg',<br />
      tracks: [{<br />
        file: 'https://bitdash-a.akamaihd.net/content/MI201109210084_1/thumbnails/f08e80da-bf1d-4e3d-8899-f0f6155f6efa.vtt',<br />
        kind: 'thumbnails'<br />
      }]<br />
    },<br />
    cast: {<br />
      enable: true<br />
    },<br />
    events: {<br />
      onWarning: function(param) {<br />
        if (param && param.code === 5002) {<br />
          showMessage();<br />
        }<br />
      }<br />
    }<br />
  };<br />
  function supportsHevcHls() {<br />
    // iPhone user agent string:<br />
    // 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.21 (KHTML, like Gecko) Version/10.0 Mobile/15A5278f Safari/602.1'<br />
    var probablyiOS11 = navigator.userAgent.match(/iPhone OS ([0-9]+)/i);<br />
    if (probablyiOS11 && probablyiOS11.length >= 2 && !isNaN(probablyiOS11[1])) {<br />
      var iOSMajorVersion = parseInt(probablyiOS11[1]);<br />
      if (iOSMajorVersion >= 11) {<br />
        return true;<br />
      }<br />
    }<br />
    return window.MediaSource && MediaSource.isTypeSupported('video/mp4; codecs="hvc1.1.c.L93.90,mp4a.40.2"');<br />
  }<br />
  function showMessage() {<br />
    console.warn('No HEVC support as it seems :( Please try Safari/macOS High Sierra, Safari/iOS 11 or Edge/Windows 10');<br />
    bitmovin.player().fireEvent('onError', {<br />
      message: 'This browser/OS does not support HEVC HLS. Please try in Safari on macOS High Sierra or iOS 11, or in Edge on Windows 10 (with hardware decoder present in the device).'<br />
    });<br />
  }<br />
  var player = bitmovin.player('player');<br />
  player.setup(conf).then(function(response) {<br />
    if (!supportsHevcHls()) {<br />
      showMessage();<br />
    }<br />
  }, function(reason) {<br />
    console.error('player setup failed');<br />
    console.error(reason);<br />
  });<br />
</script></p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/ios-11-release-hlshevc-support-will-help-save-storage-cdn-costs">How the iOS 11 Release with HLS/HEVC Support will Help to Save Storage &#038; CDN Costs</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />
<enclosure url="https://bitmovin-a.akamaihd.net/content/dataset/multi-codec/hevc/stream_fmp4.m3u8" length="1293" type="application/vnd.apple.pages" />

			</item>
		<item>
		<title>Bitmovin Android and iOS SDKs: Unified API, UI &#038; Config</title>
		<link>https://bitmovin.com/introducing-bitmovins-android-ios-sdks</link>
		
		<dc:creator><![CDATA[Mario Graf]]></dc:creator>
		<pubDate>Thu, 13 Apr 2017 10:53:16 +0000</pubDate>
				<category><![CDATA[Product Updates]]></category>
		<category><![CDATA[video player]]></category>
		<guid isPermaLink="false">https://bitmovin.com/?p=19380</guid>

					<description><![CDATA[<p>Bitmovin&#8217;s native mobile SDKs provide a unified UI and configuration which ensures a consistent presentation and user experience across all devices. As more and more users are watching video using apps, we at Bitmovin focus on developing native SDKs for our customers to make it easier to provide a unified video experience across all platforms...</p>
<p>The post <a rel="nofollow" href="https://bitmovin.com/introducing-bitmovins-android-ios-sdks">Bitmovin Android and iOS SDKs: Unified API, UI &#038; Config</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong><a href="https://bitmovin.com/bitmovin-mobile-sdk-contact"><img loading="lazy" decoding="async" class="size-full wp-image-19885 alignnone" src="https://bitmovin.com/wp-content/uploads/2017/04/sdk-banner.jpg" alt="React Native,Flutter - Bitmovin" width="800" height="396" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/sdk-banner-300x149.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/sdk-banner.jpg?size=384x190&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/sdk-banner-768x380.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/sdk-banner.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></a></strong></p>
<blockquote><p>Bitmovin&#8217;s native mobile SDKs provide a unified UI and configuration which ensures a consistent presentation and user experience across all devices.</p></blockquote>
<p>As more and more users are watching video using apps, we at Bitmovin focus on developing native SDKs for our customers to make it easier to provide a unified video experience across all platforms and devices. With our new mobile SDKs we bring a first class video experience to your native applications. Our native player libraries enable you to expand your audience with a feature-rich video player. We enable developers to easily integrate an adaptive streaming player for HLS and MPEG-DASH, with the outstanding quality of our HTML5 player.<br />
Integrating different frameworks for different platforms and devices can be challenging and often requires lots of resources. Our native SDKs extend Bitmovin’s existing player framework allowing you to deploy our player to platforms such as Android, iOS and the web using just one unified configuration and UI. Maintaining different player configurations and UI definitions is no longer required. (<a href="https://bitmovin.com/bitmovin-mobile-sdk-datasheet/">Download the Mobile SDK Datasheet</a>)<br />
Besides the comprehensive feature set of our player, like Multi-DRM, Ads, VR and 360 video, etc., we have also developed an additional component, enabling offline <a href="https://bitmovin.com/state-web-drm-whitepaper/">DRM</a> playback, making Bitmovin’s native player framework suitable for use-cases in a mobile environment.</p>
<h2>Unified Experience Across All Platforms</h2>
<p>One main design goal for our SDKs was to provide a unified experience for integrating our player framework into your projects across all supported platforms. With our native SDKs, a homogenous configuration can be used across all platforms and one player can be deployed everywhere.<br />
<a href="https://bitmovin.com/bitmovin-mobile-sdk-contact"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-19892" src="https://bitmovin.com/wp-content/uploads/2017/04/SDK-videoplayer-unified-config.png" alt="Unified config to the mobile SDK video player" width="800" height="614" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/SDK-videoplayer-unified-config-300x230.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/SDK-videoplayer-unified-config.png?size=384x295&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/SDK-videoplayer-unified-config-768x589.png?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/SDK-videoplayer-unified-config.png?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></a></p>
<h2>Unified Player Configuration</h2>
<p>Our HTML5 Adaptive Streaming Player offers the possibility to configure the player using a simple <a href="https://bitmovin.com/docs/player/api-reference/web/web-sdk-api-reference-v8#/player/web/8/docs/modules/core_config.html" target="_blank" rel="noopener noreferrer">JSON configuration object</a>. This configuration object lets you define and store all the custom settings you want to use to deploy our player. With the introduction of our native SDKs for Android and iOS you can use the same configuration to deploy your native mobile applications. As with the HTML5 player, you just have to pass this configuration object to the <i><strong>setup()</strong></i> API call of the native player. In contrast to other solutions, there is no need to maintain different player configurations across different platforms. In addition to that, it is also possible to alter and modify the standard player configuration to your needs before passing it to the native player.</p>
<h2>Universal User Interface</h2>
<p>With the release of <a href="https://bitmovin.com/bitmovin-html5-player-v7">Player Version 7</a>, we introduced an open-source user interface based on TypeScript and SCSS that compiles to JavaScript and CSS. The interface allows you to customize the look of the player to your needs, whether you just want to make some minor changes, like modifying colors or changing image assets, or you want to build an entire custom UI based on the provided UI framework.<br />
This customizable UI capability can be applied to both, our adaptive HTML5 player, as well as our native Android and iOS Player SDKs, enabling the same look and feel presented to your users across all platforms. Since this UI is implemented using web technologies, it runs inside a small web-component which is layered on top of the video surface in the native player. You benefit from implementing the UI only once, which saves resources and enables easy modification across all players.</p>
<h2>Unified Player API</h2>
<p>The possibility of providing a universal user interface, which also works in common with our adaptive HTML5 player, was enabled by implementing the same player API across all platforms.<a href="https://bitmovin.com/docs/player/api-reference"> All API calls and events</a> you are already familiar with from our HTML5 player are also present in the native player frameworks. This comprehensive and powerful API enables an easy and straightforward integration and lets you tailor the SDKs to fit any use case.<br />
<img loading="lazy" decoding="async" class="aligncenter size-full wp-image-19448" src="https://bitmovin.com/wp-content/uploads/2017/04/sdk-architecture-highlvl.jpg" alt="Bitmovin native SDKs" width="800" height="700" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/sdk-architecture-highlvl-300x263.jpg?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/sdk-architecture-highlvl.jpg?size=384x336&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/sdk-architecture-highlvl-768x672.jpg?lossy=2&amp;strip=1&amp;webp=1 768w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/sdk-architecture-highlvl.jpg?lossy=2&amp;strip=1&amp;webp=1 800w" sizes="(max-width: 800px) 100vw, 800px" /></p>
<h2>Simple But Powerful</h2>
<p>We focused on building a simple-to-use API for setting up the native players. For enabling basic adaptive video playback using our SDKs, you just have to add a few lines of code to your project, as showcased in an example below.<br />
Our SDKs come with everything you need to get started. For simpler use cases without special requirements you can use the SDK’s built-in components without further modifications, to make your streaming project a success. However, we developed our native player framework to provide the flexibility to customize and adapt to all of your current and future use cases.<br />
For instance you can use the customizable Bitmovin UI, introduced with version 7 of our HTML5 player, to build a fully customized UI for the native player as described before. This UI is based on JavaScript and CSS and runs inside a <em><strong>Web View</strong></em> component on top of the video surface. In addition to that, we also provide the possibility to implement a new player UI completely on your own, using the player API provided by the internal player object as can be seen in the above graphic.</p>
<h2>Features</h2>
<p>Our SDKs come with an extensive set of features, which is continuously expanded:</p>
<ul>
<li>MPEG-DASH, HLS and Progressive Video</li>
<li>Live and VoD</li>
<li>DRM (Widevine, FairPlay)</li>
<li>Offline playback (including with DRM)</li>
<li>Timed metadata (ID3 &amp; EMSG)</li>
<li>IMA Ad SDK</li>
<li>Highly customizable skin</li>
<li>Subtitles and Closed Captions</li>
<li>Multi-audio/language support</li>
<li><a href="https://bitmovin.com/bitmovin-video-player-chromecast/">Chromecast</a> and Apple TV compatible</li>
<li>Bitmovin Analytics integration</li>
</ul>
<p>In addition to the capabilities we provide with our adaptive HTML5 player, we added some features which are especially important for mobile platforms like Android and iOS. One of them is the offline playback and DRM support. With our SDKs we provide the possibility to download and store multimedia content locally on the mobile device. When these assets are DRM protected, a special offline license can be acquired to enable the playback of this stored content without the need for an active internet connection.</p>
<h3>Version support</h3>
<p>At the moment following platform versions are supported:<br />
<strong>Android:</strong><br />
Android 4.1+ (API level 16+)<br />
DRM support, including offline DRM: 4.4+ (API level 19+)<br />
<strong>iOS:</strong><br />
iOS 8+<br />
Offline DRM support: iOS 10+</p>
<h2>Examples</h2>
<p>To show how easy our SDKs can be used to integrate our powerful adaptive video player into your applications, we have prepared two small examples. For the sake of simplicity we decided to present these examples for our Android SDK, but they can be easily implemented likewise using our iOS SDK.</p>
<h3>Basic Adaptive Video Playback</h3>
<p>The following example shows how our Android SDK can be used to set up the player for basic adaptive video playback using a default configuration.<br />
The Android SDK comes with the <em><strong>BitmovinPlayerView</strong></em> which can be embedded into the layout of your activity. In the code you just have to get a reference to that view element, which also provides access to the underlying player object.</p>
<pre><pre class="brush: java; title: ; notranslate">
// get a reference to the player view which is defined in the activity layout
bitmovinPlayerView = (BitmovinPlayerView) findViewById(R.id.bitmovinPlayerView);
// get a reference to the player
bitmovinPlayer = bitmovinPlayerView.getPlayer();
</pre>
<p>In the next step you need to create a player configuration. You can use the default configuration which you get by just creating a new <em><strong>PlayerConfiguration</strong></em> object. The only thing we need to set on this configuration is the media asset you want to play back. This could be a DASH stream, like in this example, HLS or progressive MP4 asset.</p>
<pre><pre class="brush: java; title: ; notranslate">
// Create a new player configuration
PlayerConfiguration playerConfig = new PlayerConfiguration();
// Add a new source item
playerConfig.setSourceItem(&quot;http://www.example.com/stream.mpd&quot;);
</pre>
<p>As described before, you could also use an existing JSON configuration, as used for our HTML5 adaptive player to create this PlayerConfiguration object:</p>
<pre><pre class="brush: java; title: ; notranslate">
// Create a new player configuration from a JSON configuration
PlayerConfiguration playerConfig = PlayerConfiguration.fromJSON(“http://www.example.com/config.json”);
</pre>
<p>In the final step you pass the player configuration object to the player instance by calling its setup method, and the player is ready to use.</p>
<pre><pre class="brush: java; title: ; notranslate">
// setup player using the created player configuration
bitmovinPlayer.setup(playerConfig);
</pre>
<h3>Playing DRM Protected Content</h3>
<p>Playing back DRM protected content is also just as easy as you would expect from our SDKs. At first, you need to embed the <em><strong>BitmovinPlayerView</strong></em> into your activity as described before. Alternatively, we provide the <em><strong>BitmovinPlayerFragment</strong></em>, which includes the <em><strong>BitmovinPlayerView</strong></em> and already implements the handling of it’s lifecycle. This approach is easier to handle and recommended for less experienced developers.</p>
<pre><pre class="brush: java; title: ; notranslate">
// get a reference to the player view which is defined in the activity layout
bitmovinPlayerView = (BitmovinPlayerView) findViewById(R.id.bitmovinPlayerView);
// get a reference to the player
bitmovinPlayer = bitmovinPlayerView.getPlayer();
</pre>
<p>After creating the default configuration, we now create the <em><strong>SourceItem</strong></em> which will contain all informations about the video stream and the content protection.</p>
<pre><pre class="brush: java; title: ; notranslate">
// Create a new player configuration
PlayerConfiguration playerConfiguration = new PlayerConfiguration();
// Create a new source item
SourceItem sourceItem = new SourceItem(&quot;http://www.example.com/stream.mpd&quot;);
</pre>
<p>In addition to the URL of the video stream to be played, we now need to provide the DRM license URL and set it on the <em><strong>SourceItem</strong></em> along with an identifier for the DRM scheme used. The source item then has to be passed to the player configuration object created before.</p>
<pre><pre class="brush: java; title: ; notranslate">
// setup DRM handling
String drmLicenseUrl = &quot;https://www.example.com?param1=value1&amp;amp;amp;param2=value2&quot;;
sourceItem.addDRMConfiguration(DRMSystems.WIDEVINE_UUID, drmLicenseUrl);
// Add source item including DRM configuration to player configuration
playerConfiguration.setSourceItem(sourceItem);
</pre>
<p>In the final step you again have to pass the prepared player configuration object to the setup method of the player and we are ready for playback!</p>
<pre><pre class="brush: java; title: ; notranslate">
// setup player using the created player configuration
bitmovinPlayer.setup(playerConfiguration);
</pre>
<h2>Conclusion</h2>
<p>With the development of our native Android and iOS SDKs we offer you a unified video experience across all devices to our customers. With the concept of a homogenous player configuration and a unified UI framework you are able to deploy our player to Android, iOS, and the web using the same resources. Our SDKs hide all the complexity of streaming media and enables our customers to get started easily. Our SDKs are highly customizable and configurable to any use case.</p>
<div style="text-align: center;"><a href="https://bitmovin.com/bitmovin-mobile-sdk-contact"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-19398" src="https://bitmovin.com/wp-content/uploads/2017/04/mobsdk-contactus.png" alt="React Native,Flutter - Bitmovin" width="500" height="200" srcset="https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/mobsdk-contactus-300x120.png?lossy=2&amp;strip=1&amp;webp=1 300w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/mobsdk-contactus.png?size=384x154&amp;lossy=2&amp;strip=1&amp;webp=1 384w, https://b3148424.smushcdn.com/3148424/wp-content/uploads/2017/04/mobsdk-contactus.png?lossy=2&amp;strip=1&amp;webp=1 500w" sizes="(max-width: 500px) 100vw, 500px" /></a></div>
<p>The post <a rel="nofollow" href="https://bitmovin.com/introducing-bitmovins-android-ios-sdks">Bitmovin Android and iOS SDKs: Unified API, UI &#038; Config</a> appeared first on <a rel="nofollow" href="https://bitmovin.com">Bitmovin</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
