freeswitch 推送rtmp_mod_rtmp

向俊贤
2023-12-01

About

mod_rtmp is an RTMP (Real time media protocol) endpoint for FreeSWITCH (similar to mod_sofia for example). The RTMP protocol is primarily used by Flash for streaming audio, video, and data over the Internet. The proliferation of WebRTC media streaming has largely supplanted the use of RTMP.

Click here to expand Table of Contents

Installation

The lastest git for FreeSWITCH already have mod_rtmp source included. Before compilation, edit modules.conf. Uncomment "endpoints/mod_rtmp" and save the file. Run your FreeSWITCH compilation like you would normally do.

Configuration

RTMP Configuration Files, rtmp.conf.xml

API

Status

To view the endpoint status:freeswitch> rtmp status

To view the status of a profile:freeswitch> rtmp status profile

To view sessions on a profile:freeswitch> rtmp status profile sessions

To view registrations on a profile:freeswitch> rtmp status profile reg

Profiles

To start, stop or restart a profile:freeswitch> rtmp profile start

freeswitch> rtmp profile stop

freeswitch> rtmp profile restart

To rescan the configuration for a profile:freeswitch> rtmp profile rescan

Sessions

To kill a session:freeswitch> rtmp session kill

To login or logout a session:freeswitch> rtmp session login

freeswitch> rtmp session logout

Contact

To get a dialstring to call a registered user (optionally with nickname):rtmp_contact profile/user@domain[/[!]nickname]

This can be used to bridge a call to the user:

Latency

If you experience latency when receiving streamed audio through Flash, first check the latency isn't generated through Flash's interaction with your browser and audio system. For example on some Linux distributions which use PulseAudio you may find executing the following command in a desktop terminal window has a great effect on reducing latency for the current session:export PULSE_LATENCY_MSEC=20

/usr/bin/firefox "$@"

Flex Client

There is also a sample flex client that works with mod_rtmp. The source is currently located right under the /usr/src/freeswitch/clients/flex. You need to copy those files and put it under a web server directory. Modify the freeswitch.html file and modify the following section:

var flashvars = {

rtmp_url: 'rtmp://my.ip.address.here/phone'

};

replace my.ip.address.here to your freeswitch server IP running the mod_rtmp module. Now open your browser and load the freeswitch.html page to see the client in action.

 类似资料: