`
phenom
  • 浏览: 409320 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

vlc for android录制视频与截图

 
阅读更多
首先说明,这不算原创文章,但是实践过的结果。在录制视频,截图,vlc已经做得很好了。但对于 android,它并没有添加这项功能,从源码也可以看到,截图似乎还有一些bug未修正。

然而有时播放在线视频流,希望截图,录制,可以通过修改一些代码实现了。
参考的文章:
http://blog.csdn.net/vertx/article/details/8639322

还有其它csdn里面的博文,之后补上地址。大体相同。

同时由于录制视频的patch较旧了,所以上传一个新的patch,包含了ffmpeg的配置,和configure.sh,jni的修改。


下载,是简单的,环境准备不作说明,jdk,ndk,sdk(如果不想编译成apk,可以忽略,但要配置路径).
编译环境是ubuntukyln 64 本来是下载kubuntu的,结果下载的文件不是。

git clone git://git.videolan.org/vlc-ports/android.git android-vlc --depth=1
下载完成后进入目录android-vlc
cd android-vlc
cp compile.sh build.sh 新建一个
然后把patch解压,其中的vlc_record_config.patch复制到android-vlc目录中,运行:
patch -p1 git clone git://git.videolan.org/vlc/vlc-2.2.git vlc --depth=1 主要是加快下载,
运行build.sh:
./build.sh release
过一会就会下载 vlc源码,下载完成后,会下载tar包,先停止,ctrl+c
然后 复制patch到vlc目录,运行 patch -p1  vlc_video.patch生成一个patch,这个文件就可以下次用了。

然后再回到上层目录 android-vlc,运行build.sh release运行,下载tar包,编译,下载过程看网络,编译大概十几分钟,一般的双核机器了。

整个目录大小约1g,所以磁盘空间的准备自己有数了。

so文件大约是15.6m,这有点大了,我想自己配置ffmpeg,但取消一些decoder,encoder后11m左右,发现,有图没有声音,官方论坛上也有人出现这个,但后面的并没有看到一个明确的答案。所以体积就没有办法减少了。

除了上面的c部分,剩下就是jni调用的java部分的编写了。

还有一点说明,--disable-sout这个在build.sh里面也有,一开始我在这个文件里面删除了,结果问题来了, 编译不成功,还下载了x265几个包。这个要在configure.sh里面处理。不知道--disable-x265不加会不会有问题,看一x264禁用了,所以干脆也添加了这个。

vlc的编译,经常会出现一些问题,之前就出现no/lib这个找不到,是speex的相关的,但也没办法。
还有zlib.a这个就是路径不对了。可以在vlc/下面的目录查找,然后在android.mk文件里修改。有些又不会有这个问题。

编译过程结束了。虽然本人未运行过,但也算是一个阶段了,之前csdn里面有下载的,确实可以保存视频,图片,下次有时间把其它的功能加上。

包里有三个文件,Add-new-API-to-libvlc-to-record这个是从国外网站上下载的patch,但里面有些旧了,行数对不上,所以无法打补丁,后面两个是本人自己制作的。对于 2014-9-8 号的最新代码是有效的。

最后把结果传上来:
http://pan.baidu.com/s/1bn7yqwJ 网盘可以下载到tar包,有些下载较慢.

https://github.com/archko/android-vlc.git 可以下载到源码,这个跟官方的稍有不同.
添加了一个列表,使用直播地址.
目前,录制视频可以,但抓图还有问题.还有些错误:
09-08 20:26:57.066: E/VLC(30994): chain filter: Too high level of recursion (2)
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): chain filter: Too high level of recursion (2)
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): chain filter: Too high level of recursion (2)
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): chain filter: Too high level of recursion (2)
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): chain filter: Too high level of recursion (2)
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): chain filter: Too high level of recursion (2)
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): chain filter: Too high level of recursion (2)
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): chain filter: Too high level of recursion (2)
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): chain filter: Too high level of recursion (2)
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): core filter: Failed to create video filter2
09-08 20:26:57.066: E/VLC(30994): core video output: Failed to convert image for snapshot




分享到:
评论
1 楼 icyttea 2015-06-19  
好棒!感谢楼主分享

相关推荐

    vlc-android实现截图,录制视频Dome程序

    在这个“vlc-android实现截图,录制视频Dome程序”中,我们重点探讨如何利用VLC库在Android应用中实现视频播放、截图以及录制功能。 **一、VLC的Android集成** 在Android项目中集成VLC,你需要将提供的源码解压缩并...

    VLC 安卓播放器 VLC for Android 3.3.4 中文多语免费版.zip

    VLC for Android 是 VLC 媒体播放器到 Android™ 平台的完整端口。它可以播放任何视频和音频文件,网络流和 DVD ISO,例如 VLC 的经典版本。VLC 具有完整的音乐播放器,媒体数据库,均衡器和过滤器以及许多其他功能...

    VLC-Android 截图录像功能

    3. **录像功能**:VLC-Android 2.16版本提供录制视频的功能,用户可以保存当前播放的视频流,这对于保存直播内容或者需要反复查看的视频片段尤为有用。录制质量会根据设备性能和存储空间自动调整,以保证最佳效果。 ...

    vlc-android精简源码 截图和录制视频功能 rtsp

    播放rtsp视频流(减少了延时),也可以播放本地视频。具体请参见代码。...源码为编译vlc官方最新版,加上截图与录像功能后精简而成的。源码可以直接使用,能够避免自己编译和修改过程中的费时费力。

    安卓直播视频播放流媒体IPCameraRTSPDLNA相关-vlc-android精简源码截图和录制视频功能rtsp.rar

    在这个"vlc-android精简源码 截图和录制视频功能 rtsp.rar"压缩包中,我们可以找到针对Android平台的VLC源码,以及与截图和录制视频相关的功能。 首先,让我们深入理解RTSP协议。RTSP是一种应用层协议,用于控制...

    VLC for Android 1.0.0

    VLC for Android 1.0.0更新内容: Android版VLC应用正式升级至1.0.0版本; 新版修复了ARMv8处理器,Android 5.0上的崩溃问题并在细节处进行了调整; 新版全新的界面已经在黑色和白色主题中使用; 整合了DVD iso和...

    VLC for Android 3.1.5 x86_64版apk、aar及so

    VLC for Android 3.1.5是一款专为Android设备设计的多媒体播放器应用,它基于流行的开源跨平台媒体播放器VLC Media Player。这个版本是针对x86_64架构的Android设备优化的,这意味着它适用于使用64位Intel处理器的...

    android VLC可实现rtsp播放 录屏 截图等功能

    在Android开发中,VLC库(通常称为VLC SDK)可以帮助开发者实现多种功能,如RTSP流媒体播放、屏幕录制和截图等。以下将详细介绍这些功能的实现原理和步骤。 1. **RTSP播放** RTSP(Real Time Streaming Protocol)...

    VLC for android编译好的项目

    6. **项目导入与依赖管理**: 在Android Studio中,为了使用VLC for Android项目,你需要将这个压缩包以及ActionBarSherlock和SlidingMenu两个项目一起导入。Android Studio支持Gradle构建系统,通过添加依赖项到...

    vlc for android beta 0-0-8

    vlc for android beta 0-0-8 。armv7 neon 版本的vlc for android

    VLC for Android 3.1.5 x86版apk、aar及so

    VLC for Android是一款知名的开源媒体播放器,专为Android设备设计。版本3.1.5提供了对多种视频和音频格式的支持,以及丰富的自定义选项,让用户可以在移动设备上享受流畅的多媒体体验。在这个特定的压缩包中,包含...

    VLC for android 2014.9

    VLC for Android是一款流行的开源媒体播放器,专为Android设备设计。它基于VideoLAN的VLC Media Player,这个跨平台的多媒体解决方案在全球范围内广受欢迎。2014.9版本可能指的是该应用的一个特定更新,这通常是修复...

    vlc for android android 4.2.2 eclipse 可以编译通过的源码

    VLC for Android是一款流行的开源媒体播放器,专为Android设备设计。它基于VideoLAN的VLC Media Player项目,提供跨平台的多媒体播放功能。在这个特定的压缩包中,包含了适用于Android 4.2.2版本的VLC源码,这意味着...

    VLC for Android最新源代码

    - **vlc-android**: 这是VLC for Android的主要源代码目录,包含所有与VLC相关的类和资源文件。 - **appcompat**: 这是Android的兼容库,使开发者能够使用新版本的Android UI组件在旧版本的系统上运行。 5. **...

    VLC-Android-2.0.6.tar.gz_Weird_android_android vlc_android DVD_

    VLC for Android can play any video and audio files, as well as network streams and DVD ISOs, like the desktop version of VLC. VLC for Android is a full audio player, with a complete database, an ...

    vlc-android播放rtsp视频流demo

    【vlc-android播放rtsp视频流demo】是一款专为Android平台设计的应用示例,它演示了如何集成VLC库来播放RTSP(Real Time Streaming Protocol)视频流。VLC是一款广泛使用的开源媒体播放器,它支持多种媒体格式和流...

    最新vlc for android 源码

    VLC for Android还支持字幕、音轨切换、屏幕截图、流媒体录制等功能。源码揭示了如何集成这些功能,并提供可定制的用户体验。 7. 性能优化: 为了在Android设备上提供流畅的播放体验,VLC进行了大量的性能优化,...

    VLC for Android 基于 Opencv 对 RTSP视频 实时人脸检测

    VLC for Android是一款流行的开源媒体播放器,它支持多种视频流协议,包括RTSP(Real Time Streaming Protocol)。在Android平台上,结合OpenCV库,我们可以实现对RTSP视频流的实时人脸检测功能。以下是对这个主题的...

    Vlc-Android播放器

    1. **源代码文件**:包含了Vlc-Android播放器的Java或Kotlin源代码,开发者可以通过阅读和理解这些代码,学习如何与VLC库交互,以及如何实现自定义功能。 2. **资源文件**:如XML布局文件、图片、字体等,这些都是...

    VLC for Android

    自己编译的VLC for Android,官方最新的源代码,在Android5.0上测试通过

Global site tag (gtag.js) - Google Analytics