Удаленный потоковый сервер от IceCast - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь воспроизвести потоковое видео на сервере IceCast, поэтому я хотел бы настроить его на сервере icecast.xml. У меня есть следующие вопросы:

  1. В разделе монтирования, как я могу настроить видеопоток для чтения ввода. Я хотел бы прочитать поток следующего типа:

RTSP: // ******************* / Streaming / Каналы / 101 transportmode = одноадресная

На самом деле я только что настроил следующий файл iceCast.xml:

<icecast>
    <limits>
        <clients>1000</clients>
        <sources>42</sources>
        <threadpool>5</threadpool>
        <queue-size>524288</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <burst-on-connect>1</burst-on-connect>
        <burst-size>65535</burst-size>
    </limits>
    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>hackme</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>hackme</relay-password>
        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>hackme</admin-password>
    </authentication>
    <hostname>localhost</hostname>
    <listen-socket>
        <port>8000</port>
    </listen-socket>
    <relay>
        <server>rtsp://172.31.8.44/Streaming/Channels/101?transportmode=unicast</server>
        <port>8000</port>
        <mount>/test.ogg</mount>
        <on-demand>0</on-demand>
        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
    </relay>
    <mount type="normal">
        <mount-name>/test.ogg</mount-name>
        <username>othersource</username>
        <password>hackmemore</password>
        <max-listeners>1</max-listeners>
        <dump-file>/test.mp4</dump-file>
        <burst-size>65536</burst-size>
        <fallback-mount>/etc/icecast2/test.mp4</fallback-mount>
        <fallback-override>1</fallback-override>
        <fallback-when-full>1</fallback-when-full>
        <intro>/etc/icecast2/videoDAT.mp4</intro>
        <hidden>1</hidden>
        <no-yp>1</no-yp>
        <stream-url>rtsp://172.31.8.44/Streaming/Channels/101?transportmode=unicast</stream-url>
        <on-connect>sh /home/stream-start.sh</on-connect>
    </mount>
    <fileserve>1</fileserve>

    <paths>
        <basedir>/usr/share/icecast2</basedir>
        <logdir>/var/log/icecast2</logdir>
        <webroot>/usr/share/icecast2/web</webroot>
        <adminroot>/usr/share/icecast2/admin</adminroot>
        <alias source="/" dest="/status.xsl"/>
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
        <loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
        <logsize>10000</logsize> <!-- Max size of a logfile -->
    </logging>

    <security>
        <chroot>0</chroot>
    </security>
</icecast>
  1. Как я могу настроить его для чтения файла mp4?

1 Ответ

0 голосов
/ 11 января 2019

Icecast не может ретранслировать потоки RTSP. Вы можете передавать только совместимые прогрессивные потоки HTTP (которые являются серверами потоков, такими как Icecast и SHOUTcast.)

Icecast также не будет декодировать ваш MP4.

Вам нужно использовать такой инструмент, как FFmpeg, чтобы передавать на Icecast. Что-то вроде ...

ffmpeg -i <your RTSP URL> icecast://example.com/stream
...