最近,做学校的大创,涉及安卓拉流服务。作为一个安卓新手,做这个走了很多弯路。网上有很多教程,但很多都不适合新手,故结合网上资源与教程,专门写了篇适合新手的开发教程。

开发环境:Mac os10.12.6+android studio2.3.3

我是用Vitamio这个开源的库来实现拉流的,首先要在android studio中导入Vitamio。

导入步骤:

  1. 下载Vitamio bundle https://github.com/yixia/VitamioBundle
  2. 解压并且在Android Studio上File->New->Import Module,将Vitamiobundle-master中的Vitamio文件夹导入项目按ok,finish结束
  3. 在build.gradle(Module: app)依赖部分添加依赖项目(‘:vitamio’)
  4. 打开build.gradle (Module: vitamio) - 改变最小sdk版本为7,同时将targetsdkversion改为小于23的数值
  5. 在自己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.VideoViewandroid: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;@Overrideprotected 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() {@Overridepublic void onPrepared(MediaPlayer mediaPlayer) {mediaPlayer.setPlaybackSpeed(1.0f);}});}
}

把拉流地址改成自己的拉流地址。

然后run,看看是不是已经可以了,打开生成的app,缓冲一会儿,就开始自动播放你地址的视频了,用同样的方法可以实现视频的点播。

用vitamio还可以实现网速显示,亮度调节等功能,这些就要靠你们一一摸索了。

rtmp直播拉流安卓开发相关推荐

  1. vue 播放rtmp 直播拉流视频

    一.写插件 <template><videoref="videoPlayer"class="video-js vjs-default-skin vjs- ...

  2. uniapp h5直播拉流的几种方法 flv.js, video.js, 阿里播放器sdk,video标签

    uniapp h5直播拉流的几种方法 flv.js, video.js, 阿里播放器sdk,video标签 前言 首先引入资源文件 需要创建index.html 模板文件 flv.js video.j ...

  3. 最后一公里:从直播拉流读懂直播链路

    前言 直播是一个庞大而复杂的业务形态,一个优秀的直播系统涉及众多团队的共同协作,有非常完整的直播链路. 那么,直播链路中都有哪些角色?这些角色要解决的是哪些问题?要优化某个环节时需要哪些角色的配合?这 ...

  4. ffmpeg推流+NGINX(RTMP)+VLC-QT拉流(Win7)

    1 简介 本文旨在在Windows 7系统上实现利用FFmpeg软件推流到部署的带RTMP模块的Nginx流媒体服务器上,在拉流端,基于VLC库的VLC-QT库实现拉流播放. 2 ffmpeg下载安装 ...

  5. 直播拉流设备接入阿里云

    1. 首先有一台直播摄像头设备:支持4G或者wifi.网线,只要能联网就行 2. 登录阿里云账号,在搜索框搜索"视图计算" 3. 开通免费,设备管理.流量需要收费 4. 创建空间: ...

  6. 网页拉流rtmp服务器,rtmp服务器以及rtmp推流/拉流/转发

    1.服务器端 一.nignxhtml 二.ffmpegnode 三.srspython 四.livegogit 五.node-rtsp-rtmp-servergithub github搜一圈也不少服务 ...

  7. ffmpeg+rtmp推流/拉流(十)

    一.搭建rtmp服务器 1.下载nginx https://github.com/nginx/nginx/archive/release-1.19.6.zip2.下载nginx-rtmp-module ...

  8. Nginx搭建RTMP推拉流服务器

    如题,今天就来实现一个推拉流服务器,模拟下推流后被客户端拉流看到效果. 详细步骤如下 - 安装Nginx - 安装FFmpeg - 安装VLC客户端 安装Nginx 在Mac上有一个很好用的包管理插件 ...

  9. 直播-拉流和推流概述

    拉流(播放) 根据协议类型(如RTMP.RTP.RTSP.HTTP等),与服务器建立连接并接收数据: 解析二进制数据,从中找到相关流信息: 根据不同的封装格式(如FLV.TS)解复用(demux): ...

最新文章

  1. Python Re 模块超全解读!详细
  2. 判断请求是否为Ajax请求的小妙招
  3. poj3422(最小费用流 + 拆点)
  4. 你想要的宏基因组-微生物组知识全在这(180801)
  5. Windows与VMware下的Linux文件共享方式总结
  6. easyui 转换 html5,easyUI Tabs
  7. mxnet基础到提高(21)-配置mxnet并运行第一个C++程序
  8. anaconda镜像
  9. 1013 数素数 (20 分)(c语言)
  10. 腾讯企业IT部蔡晨:从有界到无界,新一代企业安全防御之道
  11. open ai gpt_让我们来谈谈将GPT-3 AI推文震撼到核心的那条推文
  12. mysql分表方法实现
  13. 多线程的那点儿事(之嵌套锁)
  14. 利用Civil 3D API更改曲面的样式
  15. JSK-353 求同存异【暴力+排序+二分】
  16. GCD使用经验与技巧浅谈
  17. PyTorch搭建AlexNet模型(在CIFAR10数据集上准确率达到了85%)
  18. Switchport详细用法
  19. 一个简单的Hello World程序
  20. 华为服务器查询IPMI地址

热门文章

  1. Android4.4之后SD卡存储方案
  2. 论文阅读|基于领域知识图谱的多文档摘要生成与应用
  3. Kubernetes弃用Docker后怎么办?
  4. 数据分析的三重境界,你在哪个阶段?
  5. 挑战100天不停更hive sql 第25天 -场景题一 学生课程
  6. 学计算机专业独立显卡有必要吗,独立显卡有什么用
  7. idea快捷键,你要是不看就可惜了
  8. 月光族开始反消费主义:58万年轻人攒钱攒到“丧心病狂”
  9. Python的基本知识
  10. Haproxy(一)基础介绍