Gocoder android版使用介绍
转载请注明:文章来自www.wowza.cn
注意: 要访问最新的技术资料,请访问http://www.ttstream.com/wowza/
这篇文章介绍了如何使用Wowza GoCoder向Wowza 服务器发布实时流。 Wowza GoCoder Android版是一个运行在Android4.1 (Jelly Bean)及以上版本的终端上的实时音视频采集和编码应用,你可以用Wowza GoCoder采集音视频并通过4G、3G以及Wi-Fi网络传送到Wowza服务器,然后由Wowza服务器将内容以高清质量的H.264码率自适应流发布到任何电子屏幕。 www.wowza.cn

注意:
  • Wowza® GoCoder™ 可以从 Google Play store下载和购买。
  • 你可以从Wowza GoCoder发布实时流到一下版本的Wowza 服务器:
    • Wowza Streaming Engine™ 4.0 及以上版本
    • Wowza Media Server® 3.0 及以上版本

内容


配置Wowza服务器软件
配置Wowza GoCoder 应用
基于URL的配置方法
播放
在Wowza 的例子播放器中播放
故障排查
非法的用户名和密码
没有视频
连接问题
多任务
延时问题
电量
不正确的输出颜色
相关资料
如何使用就ios版Wowza GoCoder发布直播流
如何用Wowza Transcoder插件对实时流进行转码
如何对实时输入流进行录制

配置Wowza服务器


根据如何用RTSP推送实时流到Wowza服务器 "配置"章节中的介绍建立一个直播应用。 这篇文章将指导你在Wowza Stream Engine 4或Wowza Media Server上建立一个叫做live的直播应用.

配置Wowza GoCoder 应用


  1. 在你的Android终端上启动Wowza GoCoder应用。当应用被启动后,界面上首先会展示一个操作说明的引导界面。


    这个界面展示了应用上每一个按钮对应的操作。在屏幕任意处点击一下就可以跳过这个界面。按下X按钮以后都不再显示这个操作引导界面。


  2. 要设置Wowza服务器信息,请在应用的右上角,轻按Server 按钮,会进入Server 界面。


    1. 轻按Host, 输入 ServerPort 信息,然后轻按Back


      • Server中,输入Wowza服务器的IP地址或域名。

      • Port中,输入流媒体推送的端口。默认配置下,Wowza 服务器将使用TCP1935端口用于所有协议的流媒体传输。

    2. 轻按 Application,输入ApplicationStream Name 信息,然后轻按Back

      在上面的例子中,显示你使用的Wowza 服务器中的应用名为live,你的stream name 为myStream

    3. 轻按Login, 输入 Publisher NamePassword 信息, 然后轻按Done.

      其中 Publisher NamePassword 信息是在Wowza服务器的[install-dir]/conf/publish.password 文件中设置的。

    通过Wowza Streaming Engine Manager自动完成GoCoder上关于Wowza服务器的配置。

    如果你使用Wowza Streaming Engine 软件,你可以用Wowza Streaming Engine Manager上的Incoming Publishers功能自动完成GoCoder上关于Wowza服务器的配置。


    注意: 下面操作将覆盖GoCoder上已有的配置参数。

    自动配置GoCoder

    如果你使用Wowza Streaming Engine 软件,你可以用Wowza Streaming Engine Manager上的Incoming Publishers功能自动完成GoCoder上关于Wowza服务器的配置:


    通过Email来配置Gocoder

    如果你在Wowza服务器本机或远端的一台电脑上使用Wowza Streaming Engine Manager来管理你的Wowza服务器,你可以将服务器信息通过Email发送到你的GoCoder终端设备上:
    www.wowza.cn

    点击Email信息中的URL将启动GoCoder应用并将预设的参数信息设置到GoCoder中。关于URL参数的更多细节, 请参考基于URL的配置方法.

    Notes:
    • Android内置的Gmail客户端不支持email配置方式。如果你要用这种方法,你必须用其它邮件客户端.
    • 注意: 处于安全考虑,Publisher Login中的信息不会包含在Email邮件中。你依然必须在GoCoder应用中手动设置这个信息。
  3. 音视频的编码设置。轻按GoCoder应用右上角的Options按钮进入video Options 界面。


    Video

    对于视频流,按下面设置:

    1. 轻按Stream,轻按Video + Audio 或者 Video Only,然后轻按Back


    2. 请按 Video Settings, 设置 Frame RateKey Frame Interval (关键帧之间的帧数), 然后按返回键。


      注意:
      • 不是所有的Android设备都能保证它能够按你设置的帧率和关键帧间隔输出流。
    3. 请按 Video Size, 选择视频尺寸,然后点击返回键。


      可选择的Video Size依赖与你终端设备的能力和网络连接类型。

    Audio

    对于只有纯音频流,按以下操作进行设置:

    • 轻按 Stream, 轻按 Audio Only, 软后点击返回键。

      在这个设置下,任何视频信息都将被忽略掉,这意味着只有音频流会被推送到Wowza服务器。 www.wowza.cn 如果配置都正常,你会在App上看到以下信息:

      Audio-only

    自动重启

    当网络连接短暂断开后又重新连接上后,如果需要GoCoder自动继续开始向Wowza 服务器发布流,将Auto Restart按钮滑动到ON.

  4. 要设置音视频流的码率。轻按GoCoder应用左下角的码率按钮,可以显示可用的码率。


    在码率列表栏,选择你希望的最高码率,如下所示:

    可用的码率范围依赖于你的终端设备能力和你选择的Video Size,以及网络连接类型。

    注意:要配置码率自适应的媒体流,你必须配置Wowza Transcoder 插件。 这个插件会对输入的单个音视频流进行解码,然后再编码为多个关键帧对齐的多码率输出流。www.wowza.cn 要了解更多,请参考如何为一个直播流配置转码功能
  5. (如果需要)对于具有LED flash的后置摄像头,请按GoCoder应用左上角的LED flash 按钮() 来启用LED flash 模式。这样将LED flash 模式设置为ON,从而使得摄像头的色彩更明亮。

    再次轻按这个按钮将禁用LED flash 模式(被设置为OFF)。

  6. 对于同时拥有前置摄像头和后置摄像头的设备,轻按左上角的摄像头按钮() 可以来回切换摄像头。

  7. 要开始发布流到Wowza 服务器,轻按 Encode 按钮。

    如果所有配置都正确,你将会在GoCoder应用上看到以下信息:

    Connected

    当开始输出流时,计时器将开始增长。要停止向Wowza服务器发布流时,只要再次轻按Encode按钮即可。

基于URL的配置方式

Wowza GoCoder 支持通过url来进行配置。你可以在你的Android终端上点击一个自定义的URL来启动GoCoder并带上URL中预先设置好的配置。

URL 例子:
Code:
gocoder://configure/?publishHost=10.0.1.3&publishPort=1935&publishApplication=live&publishStream=wowza&publishUser=wowza&publishPassword=wowza&publishFrameSize=6
URL中的所有参数都是可选的。对于没有明确的参数,GoCoder将会使用默认值。为了达到你预期的效果,你最好在URL中将可选的参数都设置上.

可用的 URL 参数:

  • publishUseTCP = [YES | NO]
  • publishHost = [hostname]
  • publishPort = [integer]
  • publishApplication = [application]
  • publishStream = [stream]
  • publishUser = [publish-username]
  • publishPassword = [publish-password]
  • publishAutoStart = [YES | NO]
  • publishAutoRestart = [YES | NO]
  • publishBroadcastType = [integer] 从0到2的数字 [0 = "Audio", 1 = "Video", or 2 = "Audio/Video"]
  • publishFPS = [float] 视频的帧率,例如: 30.00
  • publishKeyFrameInterval = [integer] 视频的关键帧间隔(两个关键帧之间的帧数)
  • publishBitrateIndex = [integer] 从0到3的数字 [0 = "Low", 1 = "Medium", 2 = "High", 3 = "Very High"]. The actual value that results depends on the selected frame size
  • publishFrameSizeIndex = [integer] 从0到8的数字,分别对应以下不同的帧大小:
    • 0 = 192x144
    • 1 = 320x240
    • 2 = 352x240
    • 3 = 352x288
    • 4 = 480x360
    • 5 = 640x360
    • 6 = 640x480
    • 7 = 1280x720 (720p)
    • 8 = 1920x1080 (1080p)

注意:
  • 要注意在这个URL中,publishPassword是明文,因此会有安全隐患。
  • 测试这个URL要仔细,不合适的参数值将导致GoCoder出现错误。
  • Android内置的Gmail客户端不支持这种配置方式。如果你要用电子邮件来发送这个URL,你必须使用其它邮件客户端来接收。
  • 你可以把这个URL粘贴在web浏览器的地址栏上来启动GoCoder并完成预设的配置;然而,Google Chrome web browser 不支持这个配置方式。要做到这一点,请使用Mozilla Firefox browser Android版或使用Streaming Engine Manager 中Incoming Publishers页面的Auto-configure GoCoder 来启动GoCoder并完成预设的配置。

播放


在Wowza Streaming Engine Manager 中播放

在Streaming Engine Manager中, 点击live应用页面右上角的Test Players 按钮。 这个Test Players窗口将打开的测试播放器默认会通过各种协议播放名字为myStream的流。

Test Players 窗口的每一个Tab页面都包含了一个测试播放器,你可以用于播放直播流,或者它会提供播放直播的引导说明。 例如,使用Adobe HDS 协议播放myStream, 点击 Adobe Tab页, 然后点击 Start


你可以用在www.wowza.com/testplayers页面上的测试播放器。

故障排查


连接问题

如果Gocoder无法连接到Wowza服务器,请用web浏览器访问以下URL来验证服务器是否正在正常运行:

http://[wowza-ip-address]:1935

如果已经正常启动,那么页面上会显示Wowza server 的版本和build number。如果没有显示,请确认服务器是否已经启动并且TCP1935端口在路由、防火墙或一些软件防火墙(例如linux上的iptables)上是开放的。

如果服务器运行正常,请检查你APP上的Host信息是否正确。并且要确认Server 的值仅仅是IP地址或域名,而不要写成了推送的URL。

多任务

Wowza GoCoder 不支持多任务。如果你将应用退出到后台。音频和视频占用的资源将被释放给操作系统,并且GoCoder与Wowza服务器之间的连接会被断开。

延时

正常情况下,如果使用默认配置,从Wowza GoCoder丛集到发布到Wowza服务器之间的延时应该少于2秒。如果延时大于2秒,你可以试着将Application.xml文件中的Streams/StreamType设置为rtp-live-lowlatency。 如果你使用的最新的Wowza Streaming Engine,你可以在Streaming Engine Manager中直播应用的SetupTab页面中启用Low-latency stream

对于服务器到播放终端的延时,通常情况下,Apple HLS 流要比Adobe HDS 流更大一些。你在GoCoder上设置的关键帧频率以及Wowza应用上的切片间隔都会对延时产生影响。 针对Apple HLS 播放协议,你可以调节Wowza应用的配置参数来降低延时。要了解更多,请参考, see 如何配置Http live streaming切片时的参数?

针对使用Adobe Flash 播放器和基于Flash的播放器(例如JW Player 和 Flowplayer)播放直播流时,对延时的调优建议,请参考如何尽可能的降低从视频采集到播放的延时?

电量

音视频编码对设备资源占用较大,它会比其它类型的应用更快速的消耗你的电量。

不正确的输出颜色

Wowza GoCoder 会尝试检测并选择合适的颜色,但在有些采用Android4.1的设备厂家的终端可能会出现颜色不正的问题。当GoCoder不能选择合适的颜色时,原本红色的物体在编码后可能会显示为蓝色的 (而原本蓝色的物体也可能会变成红色的),或者在灰色物体周边会出现重影。

颜色问题的解决措施:

  1. 轻按Options按钮

  2. 轻按Video Settings

  3. 选择Enable Color Space Switching 复选框。


  4. 注意:要提供低延时的直播流来检验输出流的颜色,请选择Adobe RTMP 播放协议,并为你的直播应用选择Low-latency stream复选框,再选择Adobe RTMP 测试播放器来播放输出流。
  5. www.wowza.cn,如果在测试播放器中出现颜色问题,按以下说明操作:

    1. 按下图中红色标记的图标。


    2. 选择不用的颜色空间。


    3. 按下Done,等待设置在直播流中生效。