The document discusses Android media player development. It covers characteristics of video streams like frame rate, interlacing vs progressive, aspect ratio, color depth and video compression methods. It then discusses the Android media player API, limitations and advanced development using FFmpeg library. Key points covered include supported video formats, media player class methods, state changes and errors that can occur. Customizing the player is described as providing benefits like security and real-time ads but also drawbacks like increased errors.
Android Multimedia Player Project PresentationRashmi Gupta
Introduction of Android Operating System , Android Framework and Android Architecture which is used for development of a multi-media player with greater user interface and format compatibility.
Android Multimedia Player Project PresentationRashmi Gupta
Introduction of Android Operating System , Android Framework and Android Architecture which is used for development of a multi-media player with greater user interface and format compatibility.
This is a Presentation of my final Year Project in which we developed a java Media Player using Java Media Framework(jMF) which can play various media files inc Video(mpeg,avi,qt etc) and Audio(mp3,wma etc).
What’s Android System?
Kinds of Android Devices
Kinds of Android Type
Android Source Code
Inside Android
Boot Sequence
About init File
Hands On
Nexus7
Pandaboard
How to Debug
About 60% of the Smart-phone users in the world are using Android based phones. The primary goal of the project is to design, develop and test an Android Application “Car Music Player App” The Following Android Application is designed to make listening to music in your car safer and easier with simple designed screens & high level of accuracy with efficient & steady retrieval of information.
(A presentation given at Velocity Conference, London 2012)
Mobile Optimization is complicated, and there’s no single silver bullet. Many different bottlenecks take their toll along the way, and while some have a huge impact, others still add up. In this presentation, we’ll take a website and optimize it step by step. In each step we’ll touch on a problem, discuss how to solve it – perhaps in multiple ways – and show the effect of the solution. In the process, we’ll also touch on topics such as measuring mobile performance, differences between browsers, and which pitfalls are common
This is a Presentation of my final Year Project in which we developed a java Media Player using Java Media Framework(jMF) which can play various media files inc Video(mpeg,avi,qt etc) and Audio(mp3,wma etc).
What’s Android System?
Kinds of Android Devices
Kinds of Android Type
Android Source Code
Inside Android
Boot Sequence
About init File
Hands On
Nexus7
Pandaboard
How to Debug
About 60% of the Smart-phone users in the world are using Android based phones. The primary goal of the project is to design, develop and test an Android Application “Car Music Player App” The Following Android Application is designed to make listening to music in your car safer and easier with simple designed screens & high level of accuracy with efficient & steady retrieval of information.
(A presentation given at Velocity Conference, London 2012)
Mobile Optimization is complicated, and there’s no single silver bullet. Many different bottlenecks take their toll along the way, and while some have a huge impact, others still add up. In this presentation, we’ll take a website and optimize it step by step. In each step we’ll touch on a problem, discuss how to solve it – perhaps in multiple ways – and show the effect of the solution. In the process, we’ll also touch on topics such as measuring mobile performance, differences between browsers, and which pitfalls are common
Esoft Metro Campus - Diploma in Web Engineering - (Module II) Multimedia Technologies
(Template - Virtusa Corporate)
Contents:
What are Graphics ?
Digital Image Concepts
Pixel
Resolution of Images
Resolution of Devices
Color Depth
Color Palette
Dithering
Bitmap and Vector Graphics
Bitmap Graphics
Vector Graphics
Comparison
Graphics File Formats
Bit Map
Tagged Image File Format
Graphical Interchange Format
Join Picture Expert Group
Portable Network Graphics
Multi-image Network Graphics
Multimedia on Web
Animations
Rollovers
Animated GIF
Flash Files
Audio
Audio on Web Sites
Audio File Formats
MIDI
WAVE
MP3
AU
AIFF
Video
Video File Formats
AVI
ASF
MPEG
QuickTime
RealVideo
Copyrights of Web Content
Agenda
• Understanding the evolution of the web.
• Web 3 architecture
• Getting started as a Web 3 developer
Speakers
• Lipsa Chhotray
• O.P. Pachoriya
• Rahul Mohan
Topics covered:
1. Generating a new Remix project
2. Conventional files
3. Routes (including the nested variety)
4. Styling
5. Database interactions (via sqlite and prisma)
6. Mutations, Validation, and Authentication
7. Error handling
8. SEO with Meta Tags and much more
This presentation includes challenges in testing, levels of testing, best practices and policies, Test Drive Design(TDD),
Behavioral Driven Design (BDD Testing), TDD v/s BDD
Setting Up Development Environment For Google App Engine & Python | TalenticaTalentica Software
Google App Engine is a PAAS offering from Google Cloud Platform, which enables you to build complex web solutions with significant ease without worrying too much about the scalability or infrastructure management.
Glimpse through our presentation as we explain how to build GAE apps using pycharm with debugging enabled. To know more click here https://www.talentica.com/blogs/setting-up-development-environment-for-google-app-engine-and-python/
Know About Talentica -
Talentica Software is an innovative outsourced product development company that helps startups build their own products. We help technology companies transform their ideas into successful products by partnering in their roadmap from pre-funded startups to a profitable acquisition.
We have successfully built core intellectual property for more than 100 customers so far. We have the deep technological expertise, proven track record, and unique methodology to build products successfully. Our customers include some of the most innovative product companies in the USA, Europe, and India.
To know more about how Talentica have helped startups grow click here https://www.talentica.com/work.html
To know more about Talentica click here https://www.talentica.com/
To get in touch with us click here https://www.talentica.com/contact.htm
Connected World in android - Local data sharing and service discoveryTalentica Software
With the boom of IOT, BLE (Bluetooth low energy) and other connected devices and protocols, android app development is no longer limited to basic client server interaction. Android app development now includes interaction with other devices (not necessarily android) in the vicinity, at its very core.
Transferring files with friends without internet, Bluetooth and WiFi; streaming media from your phone or tablet to dumb plain TV (without HDMI cables) and switching off bedroom light with phone have become part of our lives. Let's explore how it's done and where do we need to start to kick start such projects.
In this session we will explore:
• Communication between connected and non-connected android devices.
• BLE overview (Bluetooth Low Energy).
• BLE APIs you should know about.
• WiFi-Direct and P2P.
• WiFi-Direct service discovery.
• Network service discovery (NSD) and relevant demos
One of the challenges faced by many web development based projects is the integration of source code for multiple releases during parallel development. The task to build and test the multiple versions of source code can eat out the quality time and limit the efficiency of the development/QA team. The case study focuses to resolve the issues of extensive effort consumed in build and deployment process from multiple branches in source repository and aim at Identification of source code integration issues at the earliest stage. This can further be enhanced to limit the manual intervention by integration of build system with test automation tool.
The above can be achieved by using different CI tools (like Hudson/Bamboo/TeamCity/CruiseControl etc) for continuous build preparation and its integration with any test automation suite. The case study specifies the use of CI-Hudson tool for continuous integration using ANT tool for build preparation and further invoking the automation test suite developed using selenium. It also discusses the limitations and challenges of using such an integration system for testing a web based application deployed on Apache Tomcat server. It also details additional plugins available to enhance such an integration of multiple systems and what can be achieved using the above integration.
Technology Challenges in Building New Media ApplicationsTalentica Software
New media applications need to connect to millions of users across multiple media and platforms.
Applications simultaneously need to
- Work across computers, smart phones and other mobile devices, all of which have to sync up seamlessly in the background.
- Link to various social media platforms, such as blogs, twitter, facebook, etc.
- Target the content to the users of each of these platforms
This brings up its own set of technical challenges namely scalable application architectures, flexible IT infrastructure and tools for targeting
Flex on Grails - Rich Internet Applications With Rapid Application DevelopmentTalentica Software
Flex on Grails lets you combine the processes and technologies of rapid application development to the creation of Rich Internet Applications (RIAs).
This session provides an introduction to Flex on Grails and benefits of Flex over an Ajax based web application. Learn how to build / debug and run an application using Flex on Grails. The session is based on the experience gained while building an internal CRM application which took us days instead of weeks to develop!
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
3. • Video - Most Popular and common way of entertainment.
• Boom in mobile market in past 5 years.
• 3g services revolutionized the telecommunication industry.
1. Introduction
4. 1) Video - Journey So Far
● Video technology was first developed for (CRT) televisions.
● Video recorders were sold for $50,000 in 1956, and videotapes
cost $300 per one-hour reel.
● Sony introduced VCR in 1971.
● Then came CD's in 1997.
● Followed by blue ray disc in 2006.
● Computers to capture, store, edit and transmit video clips.
● Smartphones users grew to a increase to a limit of 80%.
● Video watching became very user friendly.
5. Note: In Real-time entertainment the major share is made by YouTube, Netflix and Pandora.
6. 2. Characteristics of Video Streams
a) Frame rate
b) Interlaced VS progressive
c) Aspect ratio
d) Color depth
e) Digital video
f) Video compression method (digital only)
g) Containers for Codecs
7. a) Frame Rate
The number of still pictures per unit of time of video.
8. a) Frame Rate
• To identify each frame individually min 10-12 FPS.
• Early silent films had a frame rate from 14 to 24 FPS but it
was perceived as jerky motion.
• There are three main frame rate standards in
the TV and digital cinema business: 24p, 25p, and 30p.
• 48p is a progressive format and is currently being trailed in
the film industry.(The Hobbit)
9. b) Video Can Be Interlaced/Progressive
Interlaced video:
● Every frame has horizontal lines.
● Each frame is divided into 2 fields.
● Odd field and even field.
● Interlacing is a technique of doubling the FR within the
limitations of a narrow bandwidth.
● Image Detail is sacrificed.
13. ● Progressive is a method for displaying, storing or transmitting
moving images.
● Each Frame resembles an image.
● Progressive scan is used in most CRTs used as computer
Monitors.
● It is also becoming increasingly common in high-end Television
equipment, which is often capable of performing de-interlacing
so that Interlaced video can still be viewed.
b) Progressive Video
15. Advantages of progressive scan include:
1. Better quality of video.
2. No flickering of narrow horizontal patterns.
3. Simpler video processing equipment.
4. Easier compression than interlaced.
b) Progressive Video
16. c) Aspect ratio
●
Aspect ratio describes the dimensions of video screens.
●
Traditional television screen is 4:3.
●
High definition televisions(720p and 1080p) 16:9.
●
AR 1.85:1 and 35 mm US and UK widescreen standard for
theatrical film.
18. d) Color Depth
The number of bits used to indicate the color of a single pixel, in a
video frame buffer.
Bit is a storage value of a pixel.
1-bit color (2^1 = 2 colors): monochrome, black and white
2-bit color (2^2 = 4 colors): CGA, gray-scale early NeXTstation,
color Macintoshes ect.
3-bit color (2^3 = 8 colors)
4-bit color (2^4 = 16 colors):
19. d) Color Depth
6-bit color (2^6 = 64 colors):
8-bit color (2^8 = 256 colors): most early color Unix workstations,
VGA at low resolution, video games.
16-bit color (2^16 = 32768 colors): some Silicon Graphics systems
True color supports 24-bit for three RGB colors.
20. d) Color Depths Examples
2 bits (4 colors)
4 bits (16 colors)
1 bit (2 colors)
22. e) Digital Video
● Analog video stores video signal on magnetic tape.
● When copies are made of an Analog signal, degradation is
introduced due to loss of video signal in the copying.
● Whereas in digital data every bit has a binary value.
● So copying is 100% precise.
Analog Solution to Video Recording Digital Video Storage Medium
23. e) Size of Raw Digital Video
Digital Video in its raw form can be huge.
An example video can have a duration of (3600sec), a frame size
of 640x480 (WxH) at a color depth of 24bits and a frame rate of
25fps.
● pixels per frame = 640 * 480 = 307,200
● bits per frame = 307,200 * 24 = 7,372,800 = 7.37Mbits
● bit rate (BR) = 7.37 * 25 = 184.25Mbits/sec
● video size (VS) = 184Mbits/sec * 3600sec = 662,400Mbits =
82,800Mbytes = 82.8Gbytes
24. e) Issues
Leads to two interrelated problems:
1) Large storage requirements.
2) High Bandwidth requirement during playback and recording.
25. f) Video Compression
1. Conversion of data to a format that requires fewer bits.
2. The inverse process is known as decompression.
3. Decompression may or may not yield an exact copy of the
original data.
26. f) Video Codec
A codec is a compression algorithm, used to reduce the size of a
stream. The compression is usually lossy.
•
Lossless compression: It is a class of data compression algorithms
that allows the original data to be perfectly reconstructed from
the compressed data.
•
“Lossy" compression is a data encoding method that compresses
data by discarding (losing) some of it.
28. MPEG-1(1993)(Moving Pictures Expert Group)
[Old, supported by everything (at least up to 352x240)]
MPEG-2 codecs
A good quality of compression. This is what is used for DVD.
MPEG-4 (1998)AVC (DivX codec)
A good quality compression with maintaining the quality of
video.
H.263/MPEG-4 Part 2 codecs
DivX Pro Codec: Compresses video down to very small file sizes-
excellent for web use but loses quality.
f) Different Codecs
29. That's why not used for the television purpose
Xvid: Free/open-source implementation of MPEG-4 ASP,
originally based on the OpenDivX project. Similar as DivX Pro
Codec.
FFmpeg MPEG-4: Open-source libavcodec codec library
Used by default for decoding or encoding in many open-source
video players such as MXPlayer, VLC, MPlayer and GStreamer.
30. WMV (Windows Media Video): Microsoft's family of proprietary
video codec designs including WMV 7, WMV 8, and WMV 9.
Google (On2) codecs:
VP6, VP6-E, VP6-S, VP7, VP8 VP9 : Proprietary high definition
video compression formats and codecs developed
by On2 Technologies
31. g) Containers for Codecs
The container describes the structure of the file: where the
various pieces are stored and how they are made.
I) AVI (standard Microsoft Win container)
(mostly used in digital cameras)
II) MOV (standard QuickTime container)
Carries the widest range of codecs
III) MPEG-2 TS (acronym of Transport Stream,
standard container for digital broadcasting)
32. g) Containers for Codecs
IV) MP4 (standard container for the MPEG-4 multimedia portfolio)
V) RealMedia (standard container for RealVideo and RealAudio)
VI) 3gp (used by many mobile phones)
33. 3. Android Media Player
a) Android supported formats
b)Media player API and Sample Code
c)Limitations of Media Player
35. 3. b) Media Player API
RecordPlayback
Audio / Video
android.media.MediaPlayer android.media.MediaRecorder
36. b) Playback: MediaPlayer Basics
Play Media From:
• Resource Folder
• File System Path
• URL
Basically
• Create new instance of MediaPlayer
• Call prepare()
• Call start()
44. c) Limitations of Media Player
• Any time media player changes state, check before selecting any
action or you may fall into IllegalStateException.
• Error when the orientation of screen is change, even if you manage
the tag screenOrientation=“orientation” in manifest.xml
• When activity goes in background and MediaPlayer is playing, even if
you have handled onPause and onResume in some devices it goes to
error state.
• There are 30 to 34 types of possible error starting from -1 to -34.
For e.g. Error: the video container is not valid for progressive
playback (-32);
Error due to resource being in wrong state to handle request (-14)
Error due to general data processing(-18)
45. c) Limitations of Media Player
• public static void playMusic(int id)
{ // Not a good practice
MediaPlayer mediaPlayer = MediaPlayer.create(context, id);
mediaPlayer.setLooping(true); mediaPlayer.start();
} // Here the media player will be removed by GC even if it is
in play mode.
• The error value (1, -2147483648), the '1' value corresponds to
the constant in MediaPlayer.MEDIA_ERROR_UNKNOWN. (This
might happen)
-2147483648 corresponds to hexadecimal 0x80000000 which is
defined as UNKNOWN_ERROR
46. 4. Advanced Media Player Development
• Customization Features
• Benefits of Customization
• Drawbacks
• FFMPEG Library
47. We can Customize the Media Player and achieve :
We can enhance security.
a) Playing video in chunks
b) Prevent video from getting stolen.
c) Encrypt the InputStream with Cipher.
• Real Time manipulation.(Play ads in between)
• Adaptive Streaming.(Configurable bandwidth)
• Multi Format Playing.(discussed later)
a) Customization Features
48. • Your video content is secure.
• Easily applicable to other java platforms too for e.g. J2ME
• Saved video can be played only by our media player.
• Configurable bandwidth according to network speed.
• Since playback is chunk by chunk you can show video ads in
between them too.
• Event handling during playback is possible for e.g. at what point
the user stops the video or how much percentage watched.
b) Benefits of Customization
49. • Decoding of Android media player is bad, may fall into lot of
errors and you might not get possible solution anywhere.
(Limited number of file formats)
• The total chunk playback duration and the clip playback
duration should match or the player will again throw errors
like ChunkNotFound (Custom exception).
c) Drawbacks
50. d) FFMPEG Library
• Almost every android phone user is friendly with MX Player
which is a pretty famous player.
• MX Player is build using FFMpeg library which we will discuss
later.
• It is user-friendly, plays almost all formats and possesses great
build-in features.
51. • Plays almost every movie files including .3gp .avi .divx .f4v
.flv .mkv .mp4 .mpeg .mov .vob .wmv .webm .xvid and many
more
• Hardware decoding (with h/w+ decoder)
• Processor optimization
• High speed rendering for ARM® NEON™ compliant
processors.
• Provides processor specific Codecs including Tegra 2
processor.
• Move forward/backward (Optional)
• Aspect ratio selection
d)Features of MX Player
52. Following conditions are required to run included shell script:
•Linux or Cygwin
•Latest Google NDK
Download ffmpeg source code
1.In config-ffmpeg.sh, change "NDK" variable to point NDK path.
2.Add this line NDK=$HOME/Desktop/adt/android-ndk-r9
3.In build.sh, change "MAKE" variable to point ndk-build script of
NDK directory.
4.Run the shell scripts by command ./build.sh
5.The build can take a while to finish depending on your
computer speed.
6.Make ffmpeg Libraries available for Your Projects
How to build FFmpeg for Android