2

我正在开发一个应用程序,使用 libstreaming 库通过 RTSP 从 android 设备流式传输实时视频。

我正在尝试使用以下代码更改视频质量:

  private void initRtspClient() {
    mSession = SessionBuilder.getInstance()
        .setContext(getApplicationContext())
        .setAudioEncoder(SessionBuilder.AUDIO_NONE)
        .setVideoEncoder(SessionBuilder.VIDEO_H264)
        .setVideoQuality(new VideoQuality(480, 360, 30, 500))
        .setSurfaceView(mSurfaceView).setPreviewOrientation(0)
        .setCallback(this).build();

但是当应用程序在设备上运行时,我在日志中收到以下错误:

12-16 12:03:32.601    4596-4609/com.example.GlassApp E/EncoderDebugger﹕ No usable encoder were found on the phone for resolution 480x360
12-16 12:03:32.601    4596-4609/com.example.GlassApp E/H264Stream﹕ Resolution not supported with the MediaCodec API, we fallback on the old streamign method.

但这是Suppored Media Format文档中所述的分辨率(以 h.264 表示)http://developer.android.com/guide/appendix/media-formats.html

问题是什么?

编辑:应该可能添加 android 平台是 Google Glass (XE22)

4

1 回答 1

0

我似乎只能将分辨率更改为以下两个值:

    .setVideoQuality(new VideoQuality(640, 480, 20, 500000))

或者

    .setVideoQuality(new VideoQuality(960, 720, 20, 500000))

20如果帧速率也超过fps ,代码似乎也不起作用。

于 2015-03-05T10:38:55.787 回答