1:从
http://www.libsdl.org/tmp/下载SDL for android 版本(我下载的是 SDL-1.3.tar.gz )
2:从
https://github.com/havlenapetr/FFMpeg下载 havlenapetr 的ffmpeg for android版本。
3:把你下载的SDL for android版本解压到本地目录,解压到本地.
4:解压后的根目录下面有一个android-project工程,在jni目录下面新建一个SDL目录,把根目录下面的src目录,include目录和Android.mk拷贝到新建里的SDL目录下面
5:把ffmpeg for android 工程下jni目录的libffmpeg拷贝到android-project的jni目录下
6:
http://dranger.com/ffmpeg/下载tutorial08代码并把文件放在jni的src目录下
8:编写tutorial08的mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := main
SDL_PATH := ../SDL
LOCAL_C_INCLUDES += $(LOCAL_PATH)/$(SDL_PATH)/include \
$(LOCAL_PATH)/../libffmpeg \
# Add your application source files here...
LOCAL_SRC_FILES := $(SDL_PATH)/src/main/android/SDL_android_main.cpp \
tutorial08.c
LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES
LOCAL_SHARED_LIBRARIES := SDL
LOCAL_STATIC_LIBRARIES := libavformat libavcodec libavutil libpostproc libswscale
LOCAL_LDLIBS := -ldl -lGLESv2 -llog
include $(BUILD_SHARED_LIBRARY)
9:SDLActivity中load so
// Load the .so
static {
System.loadLibrary("SDL");
//System.loadLibrary("SDL_image");
//System.loadLibrary("SDL_mixer");
//System.loadLibrary("SDL_ttf");
System.loadLibrary("main");
}
10:改写nativeInit方法
// Runs SDL_main()
String avPath = Environment.getExternalStorageDirectory()+File.separator+"DancingQueen.mp4";
SDLActivity.nativeInit(avPath);
//Log.v("SDL", "SDL thread terminated");
11:进入到android-project项目根目录,ndk-build 耐心等待一会就可以编译出两个库libSDL.so和libmain.so
运行你的android-project项目播放你的视频吧.
下面是我播放视频的截图
- 大小: 256.1 KB
- 大小: 396.1 KB
分享到:
相关推荐
总的来说,通过FFmpeg和SDL在Android上播放视频涉及到多媒体处理、跨语言编程、图形渲染等多个技术领域,是一个综合性的工程挑战。开发者需要对这些基础知识有深入理解,并不断实践以优化性能和用户体验。通过本文的...
在Android上,SDL 2.0 可以提供一个窗口系统、事件处理和硬件访问接口,帮助开发者构建多媒体应用,包括游戏和媒体播放器。 在“ffmpeg + sdl 2.0 实现android 播放器”这个项目中,你需要首先确保已经为Eclipse...
这篇内容将深入探讨如何在Android上构建一个基于FFmpeg和SDL2.0的视频播放器Demo,以及可能遇到的问题及其解决方案。 首先,让我们了解FFmpeg的核心功能。FFmpeg支持多种音视频编码格式,如H.264、AAC等,并且具备...
FFmpeg和SDL是两个在Android平台上进行音视频处理和图形渲染的重要库。FFmpeg是一个强大的开源工具套件,主要用于音频和视频的编码、解码、转换以及流处理。而Simple DirectMedia Layer (SDL) 是一个跨平台的多媒体...
SDL 2.0.8是SDL库的一个稳定版本,它支持多种操作系统,包括Windows、Linux、Mac OS X、Android和iOS等。这个版本带来了许多新特性、性能优化以及对旧有功能的修复,旨在提供更加稳定和高效的多媒体开发环境。 **二...
在IT领域,构建一个视频播放器是常见的任务之一,尤其当涉及到跨平台的解决方案时,SDL(Simple DirectMedia Layer)和FFmpeg库的结合成为了一个高效的选择。标题"SDL+ffmpeg视频播放器"指的是利用这两个强大的开源...
首先,SDL是一个跨平台的开发库,主要用来处理音频、视频和输入设备。它提供了底层硬件访问的能力,使得开发者可以编写跨平台的游戏和其他多媒体应用程序。在Android平台上,SDL通过JNI(Java Native Interface)与...
FFmpeg是一个开源的多媒体处理框架,支持多种音视频编码解码器,包括常见的H.264、AAC等。它还包含了文件格式解析、网络流处理、视频过滤等功能,是实现视频播放器的关键组件。FFmpeg的libavcodec库负责解码,...
将FFmpeg与SDL结合,可以利用FFmpeg的强大解码能力,配合SDL的图形和音频输出功能,创建一个简单的音视频播放器。`audio.c`可能是这个Demo中的音频部分源代码,它可能包含了如何使用SDL来播放由FFmpeg解码后的音频...
另一方面,"SDL+ffmpeg.tar.gz"可能包含的是整合了FFmpeg和SDL的示例项目,或者是一些库文件和配置脚本,以便开发者在Linux环境下构建一个基于SDL的多媒体播放器。通过结合这两个库,开发者可以创建一个功能齐全、...
在本资源中,我们主要关注的是一个针对安卓(Android)平台的播放器应用程序,它基于两个关键组件:Simple DirectMedia Layer (SDL) 和 FFmpeg。这两个组件在多媒体处理和播放领域具有广泛的应用,使得开发者能够...
2. **FFmpeg与SDL的集成**:讲解如何配置和使用FFmpeg的SDL模块来创建一个视频播放器,展示如何在SDL窗口上显示视频流。 3. **OpenGL ES 2.0的基础知识**:介绍着色器语言GLSL,以及如何编写顶点和片段着色器来实现...
这个压缩包“安卓Android源码——基于SDL、FFmpeg的播放器源码.zip”包含了一个使用这两个库实现的视频播放器的源代码。以下是对这些知识点的详细说明: 1. **SDL (Simple DirectMedia Layer)**: SDL是一个跨平台的...
在这个项目中,我们将深入探讨一个基于SDL(Simple DirectMedia Layer)和FFmpeg的Android视频播放器源码,了解其工作原理和实现细节。 1. SDL简介: SDL是一个跨平台的开发库,主要用于处理图形、音频和输入设备...
本篇文章将围绕“Android高级应用源码-基于SDL、FFmpeg的android播放器源码.zip”这一主题,对源码进行深入剖析,探讨如何利用SDL(Simple DirectMedia Layer)和FFmpeg库构建一个高效的Android视频播放器。...
在Android平台上,开发一款视频播放器是一个常见的任务,而基于SDL(Simple DirectMedia Layer)和FFmpeg的解决方案因其高效和灵活性而备受青睐。本项目是一个详细的教程,将介绍如何使用这两种技术来创建一个完整的...
这个压缩包提供的是一个基于SDL(Simple DirectMedia Layer)和FFmpeg的Android播放器源码,这两个库是多媒体开发的重要工具,让我们深入探讨它们在Android应用中的运用。 **SDL(Simple DirectMedia Layer)** SDL...
本项目中的“安卓Android源码——基于SDL、FFmpeg的android播放器源码.zip”是一个示例,它展示了如何利用这两个库在Android设备上实现音视频播放功能。 **SDL(Simple DirectMedia Layer)** 是一个跨平台的开发库...
该压缩包文件“Android应用源码之基于SDL、FFmpeg的android播放器源码.rar”包含了一个使用Android平台开发的视频播放器应用的源代码。这个播放器利用了两个关键的技术:Simple DirectMedia Layer (SDL) 和 FFmpeg,...
在 Android 平台上,FFmpeg 和 SDL 的结合可以实现高效的音视频播放、编辑和流媒体功能。 配置 FFmpeg 与 SDL 的过程涉及到几个关键步骤: 1. **下载与安装 SDK 和 NDK**: 首先,你需要下载并安装 Android SDK ...