You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
View the project page <a href=http://wseemann.github.io/FFmpegMediaMetadataRetriever/>here</a>.
5
4
6
-
Donations
7
-
------------
5
+
## Donations
8
6
9
7
Donations can be made via PayPal:
10
8
@@ -14,82 +12,62 @@ Donations can be made via PayPal:
14
12
15
13
-[**Choose what you want to donate**](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2BDTFVEW9LFZY), all donations are awesome!
16
14
17
-
Overview
18
-
--------
15
+
## Overview
19
16
20
17
FFmpegMediaMetadataRetriever is a reimplementation of Android's MediaMetadataRetriever class. The FFmpegMediaMetadataRetriever class provides a unified interface for retrieving frame and meta data from an input media file and uses FFmpeg as its backend.
21
18
22
-
This project uses FFmpeg version 4.2.2.
23
-
24
19
Key Features:
25
-
* ARMv7, x86, x86_64 and ARM_64 support (Note: ARM and MIPS aren't supported as of version 1.0.14)
26
-
* Support for API 16+
27
-
* URL support (Unlike MediaMetadataRetriever, see: http://code.google.com/p/android/issues/detail?id=35794)
20
+
21
+
- Built using FFmpeg version 7.1.1
22
+
- ARMv7, x86, x86_64 and ARM_64 support (Note: ARM and MIPS aren't supported as of version 1.0.14)
23
+
- Support for API 21+ and 16 KB page sizes
24
+
- URL support (Unlike MediaMetadataRetriever, see: http://code.google.com/p/android/issues/detail?id=35794)
If you would like to try FFmpegMediaMetadataRetriever you can do so using the [Demo Application](https://github.com/wseemann/FFmpegMediaMetadataRetriever/blob/master/FMMRDemo.apk)
36
+
- ICY Metadata (SHOUTcast metadata)
42
37
43
-
Using FMMR in your application (Android Studio)
44
-
------------
38
+
## Using FMMR in your application (Android Studio)
45
39
46
40
Add the following maven dependency to your project's `build.gradle` file:
A sample application that makes use of FFmpegMediaMetadataRetriever can be downloaded [here](https://github.com/wseemann/FFmpegMediaMetadataRetriever/blob/master/FMMRDemo.apk?raw=true). Note: The sample application is compiled with support for ALL available formats. This results in a larger library and APK. FFmpeg can be recompiled with a subset of codecs enabled for those wanting a smaller size.
71
64
72
-
Installation
73
-
------------
65
+
## Requirements
74
66
75
-
FFmpegMediaMetadataRetriever relies on FFmpeg and native code. The build process
76
-
is complex and may be confusing for those unfamiliar the Android NDK. For this
77
-
reason I've precompiled AARs created by the build process and checked them
78
-
in [here](https://github.com/wseemann/FFmpegMediaMetadataRetriever/releases/download/v1.0.19/prebuilt-aars.zip).
79
-
The modules are also included with the library. If you don't want to build the modules
80
-
you can simple unzip the prebuilt ones and copy them to your projects "libs" folder. (Note:
81
-
copy them to YOUR projects "libs" folder, NOT the "libs" folder located in
82
-
FFmpegMediaMetadataRetriever/fmmr-library. Once this step is complete you can use the
83
-
library (See: Installation in Eclipse (Kepler)). If you want to compile the modules yourself
84
-
follow the Ant instructions listed below before attempting to use the library.
67
+
-[Android Studio](http://developer.android.com/sdk/index.html) Meerkat 2024.3.2 Patch 1 or higher
68
+
-[Android NDK](http://developer.android.com/tools/sdk/ndk/index.html) r27 or higher
85
69
86
-
Download and install the [Android SDK](http://developer.android.com/sdk/index.html).
87
-
Download the [Android NDK](http://developer.android.com/tools/sdk/ndk/index.html).
88
-
Clone/Download/Fork the repo through GitHub or via (read-only)
To compile the library in Android Studio, highlight `core` in the project explorer and run Build->Make Module 'core'. This will also build the native FFmpeg binaries.
Bitmap b = mmr.getFrameAtTime(2000000, FFmpegMediaMetadataRetriever.OPTION_CLOSEST); // frame at 2 seconds
126
103
byte [] artwork = mmr.getEmbeddedPicture();
127
-
104
+
128
105
mmr.release();
129
106
130
-
FFmpeg
131
-
-----------
107
+
## FFmpeg
108
+
132
109
This software uses code of <a href=http://ffmpeg.org>FFmpeg</a> licensed under the <a href=http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html>LGPLv2.1</a> and its source can be downloaded <a href=https://www.ffmpeg.org/developer.html>here</a>.
133
110
134
-
License
135
-
------------
111
+
## License
136
112
137
113
```
138
-
FFmpegMediaMetadataRetriever: A unified interface for retrieving frame
114
+
FFmpegMediaMetadataRetriever: A unified interface for retrieving frame
139
115
and meta data from an input media file.
140
116
141
-
Copyright 2022 William Seemann
117
+
Copyright 2025 William Seemann
142
118
143
119
Licensed under the Apache License, Version 2.0 (the "License");
144
120
you may not use this file except in compliance with the License.
@@ -151,3 +127,4 @@ distributed under the License is distributed on an "AS IS" BASIS,
151
127
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
152
128
See the License for the specific language governing permissions and
0 commit comments