首页 文章

Android流到rstp服务器并使用nginx转换为rtmp

提问于
浏览
0

我试图让我的Android设备将其相机直播到webbrowser . 我在androidhive上阅读了一篇关于使用wowza的精彩教程 . 但是,我正在寻找一个免费的解决方案 . 我决定在我的本地机器上安装一个带有rtmp模块的nginx服务器,可以从局域网外部访问 . 我能够使用OBS流式传输我的屏幕而没有任何问题 .


我的设置:

在nginx中,我使用以下conf:

rtmp {
    server {
        listen 1935;
        allow play all;
        chunk_size 4000;

        application live {
            live on;
            allow publish all;
            allow play all;

            exec_pull c:/nginx/ffmpeg -i "rtsp://127.0.0.1:1935/live/test" -f flv -r -s -an "rtmp://127.0.0.1:1935/live/pc"

            #enable HLS
            hls on;
            hls_path "c:/nginx/www/hls";
            hls_fragment 3;
            hls_playlist_length 60;
        }
    }
}

我真的不确定关于ffmpeg的一行......

在我的Android应用程序中,它很简单,我在这里从androidhive教程中学习了这个类:http://www.androidhive.info/2014/06/android-streaming-live-camera-video-to-web-page/我正在使用libstreaming for android:https://github.com/fyhertz/libstreaming

因此,我只需使用以下行创建RTSP客户端:

Matcher m = uri.matcher("rtsp://127.0.0.1:1935/live/test");

它应创建一个RTSP客户端,使用RTSP协议连接到127.0.0.1:1935,并将摄像机流式传输到“测试”通道中的“实时”应用程序 . 所以我的nginx应该在端口1935上收到一些内容并使用ffmpeg将RTSP转换为RTMP吗?

我错过了让整个事情发挥作用的东西?我真的陷入困境并且没有想法尝试

谢谢 !

1 回答

  • 0

    使用10.0.2.2 - 主机环回接口的特殊别名(127.0.0.1)

    更改

    Matcher m = uri.matcher("rtsp://127.0.0.1:1935/live/test");
    

    Matcher m = uri.matcher("rtsp://10.0.2.2:1935/live/test");
    

相关问题