java - rtmp와 rtsp 프로토콜의 차이점은 무엇입니까?




android (3)

둘 다 스트리밍 미디어 용 프로토콜이며 높은 수준에서 동일한 작업을 수행합니다. - 미디어를 스트리밍 할 표준을 지정하십시오. RTMP는 공개되기 전에 Adobe에서 개발 및 소유했지만 RTSP는 처음부터 공개 표준 이었지만. RTMP는 주로 플래시 플레이어에서 사용되기 때문에 안드로이드 미디어 플레이어 클래스는 RTSP를 사용하여 스트리밍한다고 가정합니다.

나는 단지 rtsp와 rtmp 프로토콜의 차이점을 알고 싶다. 내 서버에 mp3가 있고 http를 사용하는 내 안드로이드에서 재생하고 있다면, 이것들은 어떻게 다른가?

안드로이드에서 rtmp 또는 rtsp를 구현하고 싶다면 어떤 것이 가장 좋은가요? 안드로이드에서 rtmp & rtsp의 한계는 무엇입니까?

아무도 나를 위의 간단한 대답을 줄 수 있습니까?


실시간 스트리밍 프로토콜 ( RTSP )은 스트리밍 미디어 서버를 제어하기 위해 엔터테인먼트 및 통신 시스템에서 사용하도록 설계된 네트워크 제어 프로토콜입니다. 이 프로토콜은 엔드 포인트 간의 미디어 세션을 설정하고 제어하는 ​​데 사용됩니다. 미디어 서버의 클라이언트는 서버에서 미디어 파일의 재생을 실시간으로 제어 할 수 있도록 재생 및 일시 중지와 같은 VCR과 유사한 명령을 실행합니다.

RTMP (Real Time Messaging Protocol)는 처음에는 Flash Player와 서버간에 인터넷을 통해 오디오, 비디오 및 데이터를 스트리밍하기 위해 Macromedia에서 개발 한 독점 프로토콜이었습니다.

HTTP를 사용하여 MP3를 스트리밍합니다.


별도의 클래스를 만들거나 코드를 복잡하게
만들지 않으려면 OnTouchListener에 GestureDetector 변수를 만들어 코드를 더 쉽게 만들 수 있습니다

namVyuVar는 Listener를 설정해야하는 View의 이름이 될 수 있습니다.

namVyuVar.setOnTouchListener(new View.OnTouchListener()
{
    @Override
    public boolean onTouch(View view, MotionEvent MsnEvtPsgVal)
    {
        flingActionVar.onTouchEvent(MsnEvtPsgVal);
        return true;
    }

    GestureDetector flingActionVar = new GestureDetector(getApplicationContext(), new GestureDetector.SimpleOnGestureListener()
    {
        private static final int flingActionMinDstVac = 120;
        private static final int flingActionMinSpdVac = 200;

        @Override
        public boolean onFling(MotionEvent fstMsnEvtPsgVal, MotionEvent lstMsnEvtPsgVal, float flingActionXcoSpdPsgVal, float flingActionYcoSpdPsgVal)
        {
            if(fstMsnEvtPsgVal.getX() - lstMsnEvtPsgVal.getX() > flingActionMinDstVac && Math.abs(flingActionXcoSpdPsgVal) > flingActionMinSpdVac)
            {
                // TskTdo :=> On Right to Left fling

                return false;
            }
            else if (lstMsnEvtPsgVal.getX() - fstMsnEvtPsgVal.getX() > flingActionMinDstVac && Math.abs(flingActionXcoSpdPsgVal) > flingActionMinSpdVac)
            {
                // TskTdo :=> On Left to Right fling

                return false;
            }

            if(fstMsnEvtPsgVal.getY() - lstMsnEvtPsgVal.getY() > flingActionMinDstVac && Math.abs(flingActionYcoSpdPsgVal) > flingActionMinSpdVac)
            {
                // TskTdo :=> On Bottom to Top fling

                return false;
            }
            else if (lstMsnEvtPsgVal.getY() - fstMsnEvtPsgVal.getY() > flingActionMinDstVac && Math.abs(flingActionYcoSpdPsgVal) > flingActionMinSpdVac)
            {
                // TskTdo :=> On Top to Bottom fling

                return false;
            }
            return false;
        }
    });
});






java android rtsp rtmp