Esempio n. 1
0
 def _create_stsw_rtmp_sender(self, rtmp_url, stream_id):
     # should be protected by mutex
     if NATIVE_FFMPEG_SENDER_TYPE_NAME in self.stsw_senders:
         if stream_id in self.stsw_senders[NATIVE_FFMPEG_SENDER_TYPE_NAME]:
             log.warn('RTMP sender {0} for {1} already exits'.format(stream_id, self))
             return
     sender_name = '_'.join(('rtmp', 'sender', self._stsw_stream_name))
     sender = create_sender(
         sender_type=NATIVE_FFMPEG_SENDER_TYPE_NAME,
         sender_name=sender_name,
         dest_url=rtmp_url,
         log_file='sender_' + sender_name + '.log',
         dest_format='flv',
         stream_name=self._stsw_stream_name,
         extra_options={
             'vcodec': 'copy',
             'acodec': 'aac',
             'ar': '8000',
             'strict': '-2',
             'ac': '1',
             'b:a': '10k',
         })
     if NATIVE_FFMPEG_SENDER_TYPE_NAME in self.stsw_senders:
         self.stsw_senders[NATIVE_FFMPEG_SENDER_TYPE_NAME][stream_id] = sender
     else:
         self.stsw_senders[NATIVE_FFMPEG_SENDER_TYPE_NAME] = {stream_id: sender}
     log.info('Created RTMP sender {0} for {1}'.format(stream_id, self))
Esempio n. 2
0
 def _create_stsw_rtmp_sender(self, rtmp_url, stream_id):
     # should be protected by mutex
     if NATIVE_FFMPEG_SENDER_TYPE_NAME in self.stsw_senders:
         if stream_id in self.stsw_senders[NATIVE_FFMPEG_SENDER_TYPE_NAME]:
             log.warn('RTMP sender {0} for {1} already exits'.format(
                 stream_id, self))
             return
     sender_name = '_'.join(('rtmp', 'sender', self._stsw_stream_name))
     sender = create_sender(sender_type=NATIVE_FFMPEG_SENDER_TYPE_NAME,
                            sender_name=sender_name,
                            dest_url=rtmp_url,
                            log_file='sender_' + sender_name + '.log',
                            dest_format='flv',
                            stream_name=self._stsw_stream_name,
                            extra_options={
                                'vcodec': 'copy',
                                'acodec': 'aac',
                                'ar': '8000',
                                'strict': '-2',
                                'ac': '1',
                                'b:a': '10k',
                            })
     if NATIVE_FFMPEG_SENDER_TYPE_NAME in self.stsw_senders:
         self.stsw_senders[NATIVE_FFMPEG_SENDER_TYPE_NAME][
             stream_id] = sender
     else:
         self.stsw_senders[NATIVE_FFMPEG_SENDER_TYPE_NAME] = {
             stream_id: sender
         }
     log.info('Created RTMP sender {0} for {1}'.format(stream_id, self))
Esempio n. 3
0
 def _create_stsw_rtmp_sender(self, rtmp_url, stream_id):
     # should be protected by mutex
     if FFMPEG_SENDER_TYPE in self.stsw_senders:
         if stream_id in self.stsw_senders[FFMPEG_SENDER_TYPE]:
             log.warn('RTMP sender {0} for {1} already exits'.format(stream_id, self))
             return
     sender_name = '_'.join(('rtmp', 'sender', self._stsw_stream_name))
     sender = create_sender(
         sender_type=FFMPEG_SENDER_TYPE,
         sender_name=sender_name,
         dest_url=rtmp_url,
         log_file='sender_' + sender_name + '.log',
         dest_format='flv',
         stream_name=self._stsw_stream_name,
         extra_options={
             'acodec': 'aac',
         })
     if FFMPEG_SENDER_TYPE in self.stsw_senders:
         self.stsw_senders[FFMPEG_SENDER_TYPE][stream_id] = sender
     else:
         self.stsw_senders[FFMPEG_SENDER_TYPE] = {stream_id: sender}
     log.info('Created RTMP sender {0} for {1}'.format(stream_id, self))
     if self.on is False:
         self.on = True
Esempio n. 4
0
File: rtmp.py Progetto: dulton/IVR
# -*- coding: utf-8 -*-
from __future__ import unicode_literals, division
from streamswitch.stream_mngr import create_stream
from streamswitch.sources.rtsp_source import RTSP_SOURCE_TYPE_NAME
from streamswitch.port_mngr import SubProcessPort
from streamswitch.ports.rtsp_port import RTSP_PORT_PROGRAM_NAME
from streamswitch.sender_mngr import create_sender
from streamswitch.senders.native_ffmpeg_sender import NATIVE_FFMPEG_SENDER_TYPE_NAME


src = create_stream(RTSP_SOURCE_TYPE_NAME,
                    'rs1',
                    'rtsp://192.168.2.100:554/user=admin&password=123456&id=1&type=1',
                    log_file='src.log')
port = SubProcessPort(port_name='tp', port_type=RTSP_PORT_PROGRAM_NAME)
port.start()
sender = sender = create_sender(NATIVE_FFMPEG_SENDER_TYPE_NAME,
                                'ts1',
                                'rtmp://121.41.72.231:11935/live/t1',
                                log_file='sender.log',
                                dest_format='flv',
                                stream_name='rs1',
                                extra_options={'vcodec': 'copy'})