rtmp直播拉流安卓开发
来源:互联网 发布:俄罗斯 叙利亚 知乎 编辑:程序博客网 时间:2024/06/05 19:14
最近,做学校的大创,涉及安卓拉流服务。作为一个安卓新手,做这个走了很多弯路。网上有很多教程,但很多都不适合新手,故结合网上资源与教程,专门写了篇适合新手的开发教程。
开发环境:Mac os10.12.6+android studio2.3.3
我是用Vitamio这个开源的库来实现拉流的,首先要在android studio中导入Vitamio。
导入步骤:
- 下载Vitamio bundle https://github.com/yixia/VitamioBundle
- 解压并且在Android Studio上File->New->Import Module,将Vitamiobundle-master中的Vitamio文件夹导入项目按ok,finish结束
- 在build.gradle(Module: app)依赖部分添加依赖项目(‘:vitamio’)
- 打开build.gradle (Module: vitamio) - 改变最小sdk版本为7,同时将targetsdkversion改为小于23的数值
- 在自己app中的manifest.xml中添加internet权限,位置在app->src->main->manifest.xml, 如下图,<application上面那句
然后就进入正式编写了,我这里只放demo核心功能
编写自己的activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <io.vov.vitamio.widget.VideoView android:id="@+id/vitamio_videoView" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>
继续编写mainactivity.java
package com.example.videodemo;import android.net.Uri;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import java.util.HashMap;import io.vov.vitamio.LibsChecker;import io.vov.vitamio.MediaPlayer;import io.vov.vitamio.widget.MediaController;import io.vov.vitamio.widget.VideoView;public class MainActivity extends ActionBarActivity { private static final String TAG = "MainActivity"; private String path; //private HashMap<String, String> options; private VideoView mVideoView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (!LibsChecker.checkVitamioLibs(this)) return; setContentView(R.layout.activity_main); mVideoView = (VideoView) findViewById(R.id.vitamio_videoView); path = "rtmp://59.110.xxx.xxx:1935/hls/film";//这里写你自己的拉流地址 mVideoView.setVideoPath(path); //mVideoView.setVideoURI(Uri.parse(path), options); mVideoView.setMediaController(new MediaController(this)); mVideoView.requestFocus(); mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mediaPlayer) { mediaPlayer.setPlaybackSpeed(1.0f); } }); }}
把拉流地址改成自己的拉流地址。
然后run,看看是不是已经可以了,打开生成的app,缓冲一会儿,就开始自动播放你地址的视频了,用同样的方法可以实现视频的点播。
用vitamio还可以实现网速显示,亮度调节等功能,这些就要靠你们一一摸索了。
阅读全文
0 0
- rtmp直播拉流安卓开发
- 开发rtmp直播流测试地址
- Android开发-直播视讯(1)-RTMP-基础知识
- iOS RTMP 视频直播开发笔记(4)- 关于 AVVideoProfileLevelKey
- iOS RTMP 视频直播开发笔记(6)- 封包 FLV
- iOS RTMP 视频直播开发笔记(6)- 封包 FLV
- nginx开发(四)调用ffmpeg,搭建rtmp直播流。
- iOS RTMP 视频直播开发笔记(4)- 关于 AVVideoProfileLevelKey
- iOS RTMP 视频直播开发笔记(6)- 封包 FLV
- 视频直播点播nginx-rtmp开发手册中文版
- 视频直播点播nginx-rtmp开发手册中文版
- 1小时开发一个基于RTMP的直播项目
- 开发实现C++ RTMP直播推流sdk
- 开发实现C++ RTMP直播拉流播放器
- 视频直播点播nginx-rtmp开发手册中文版
- rtmp直播协议介绍
- RTMP流媒体直播资料
- Nginx RTMP 流媒体直播
- python出现TypeError: 'module' object is not callable错误
- fly(树状数组)
- eclipse中一个项目引用另一个项目的方法
- 网狐荣耀版进入手机客户端显示“获取服务器列表失败,是否重试?”
- Proxmox环境下 Ubuntu16.04 + CUDA 8.0 GA2 安装
- rtmp直播拉流安卓开发
- 【安全牛学习笔记】 HTTPS攻击
- Golang
- 1064. 朋友数(20)
- http请求一个servlet(接口)地址
- C语言是什么 重要吗?
- Image_loader
- CentOS 7.2 挂载网络磁盘
- 深入剖析ThreadLocal