Не работает в демо RTSP видео

Discussion in 'Web Call Server 5' started by winchester7, Apr 3, 2017.

  1. winchester7

    winchester7 New Member

    Прислал.
  2. Max

    Max Administrator Staff Member

    SSH доступ не подходит. Скорее всего другой пароль. Проверьте пожалуйста логин пароль и пришлите снова.
  3. winchester7

    winchester7 New Member

    Извиняюсь, переслал.
  4. Max

    Max Administrator Staff Member

    У вас некорректно установлен сервер.
    Вам нужно удалить текущие файлы и выполнить установку заново.
    Если в папке /usr/local/FlashphonerWebCallServer есть что-то важное, сделайте бэкап.
    После этого
    1. Остановите WCS сервер и убейте все серверные процессы если они остались.
    Code:
    service webcallserver stop
    ps aux | grep java
    kill -9 PID
    PID - id оставшегося процесса
    2. Полностью удалите все папки и файлы FlashphonerWebCallServer из /usr/local
    3. Скачайте последнюю версию сервера со страницы https://flashphoner.com/download, установите, активируйте и запустите:
    Code:
    wget --no-check-certificate https://flashphoner.com/download-wcs5-server.tar.gz
    tar -xzf download-wcs5-server.tar.gz
    cd FlashphonerWebCallServer-5.0.2175
    ./install.sh
    cd /usr/local/FlashphonerWebCallServer/bin
    ./activation.sh
    service webcallserver start
    4. После установки и перед запуском сервера поставьте кодек VP8 в приоритет, чтобы работало с первой камерой.
    Code:
    codecs =opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,vp8,h264,flv,mpv

    Важно!

    В будущем, не скачивайте дистрибутив WCS в папку /usr/local/FlashphonerWebCallServer
    Скачайте его в /tmp, /home или любую другую папку, отличную от /usr/local.
    В /usr/local находится уже установленный сервер и распаковывая скачанные файлы прямо там, можно повредить его настройки.

    Если после переустановки не заработает - сообщите. Проверим.
  5. winchester7

    winchester7 New Member

    Спасибо, заработало.
  6. winchester7

    winchester7 New Member

    Последняя проблема осталась. Возможно сможете помочь?
    По поводу того, что iphone не может проигрывать несколько потоков одновременно. Решили не пробовать проигрывать в разных фреймах, а просто перед Стартом новой камеры останавливать автоматически предыдущую. И под windows/android тестировали - код работает, переключение работает. Однако под iphone переключение не работает. Происходит остановка предыдущего видео, у нового (кликнутого) видео кнопка меняется на Стоп (то есть фактически запуск произошел), но при этом видео не проигрывается.
    Как тестировали:
    Нажали на кнопку Старт у первого видео, подождали пока пойдет видеопоток, далее нажали на кнопку Старт у второго видео.
    Самое интересное, что если вручную нажать Старт у первого видео, потом нажать кнопку Стоп у первого видео и запустить второе видео - второе заработает. И заработает любое другое. Но это если только вручную остановить видео. Если же автоматически остановить, то следующее видео не проигрывается. И только на iphone оно не проигрывается, на других платформах проигрывается.

    Код простой и незамысловатый:
    HTML:
    <script>function onStopped(index) {
       
        $("#playBtn" + index).text("Старт").off('click').click(function(){
            if (validateForm("form" + index)) {
                $('#streamName' + index).prop('disabled', true);
                $(this).prop('disabled', true);
               
                if (device.ios() || device.windows())
                {
                    $(".stop_link").click();
                }
               
                playStream(index);
            }
        });
       
        //alert(Flashphoner.getSessions()[0].status());
       
        if (Flashphoner.getSessions()[0] && Flashphoner.getSessions()[0].status() == SESSION_STATUS.ESTABLISHED) {
            $("#playBtn" + index).prop('disabled', false);
            $('#streamName' + index).prop('disabled', false);
        } else {
            $("#playBtn" + index).prop('disabled', true);
            $('#streamName' + index).prop('disabled', true);
        }
    }</script>
    Конкретно этот код стопает все запущенные видео.
    if (device.ios() || device.windows())
    {
    $(".stop_link").click();
    }
    Функции device.ios() и device.windows() проверяли, они отдают true, если соответственно устройство на iOS или Windows, работает 100% везде.

    Можете сообщить, почему при автоматической остановке предыдущих видео новое на iphone не запускается? Если нужно, могу предоставить любые нужные логи.
    Тестировать можно здесь: http://71elki.ru/camera/
  7. Max

    Max Administrator Staff Member

    Проверим у себя этот кейс. По результатам отпишу.
  8. winchester7

    winchester7 New Member

    Есть какие-то результаты?
  9. Max

    Max Administrator Staff Member

    У нас работает.
    Правда, появление картинки занимает некоторое время. Около 12 секунд. Поэтому таймер переключения ставим на 15 секунд и с ним работает.

    IMG_0406.PNG

    В аттаче код, который переключается каждые 15 секунд между окнами.
    Тестовая страница временно доступна здесь:
    https://wcs5-eu.flashphoner.com/client2/examples/demo/streaming/2players/2players2.html
    https://wcs5-eu.flashphoner.com/client2/examples/demo/streaming/2players/2players2.js
    Тестировали на iOS 10.1.1 iPhone 6 и на iPad3 iOS 9.3.5
    Код примера был сделан на основе стандартного примера 2players
    https://wcs5-eu.flashphoner.com/demo2/2players

    Attached Files:

  10. winchester7

    winchester7 New Member

    Доброй ночи.

    С iphone решили не мучаться, а просто для них выводить по одному видео на отдельной странице. Спасибо.

    Решили перенести flashphoner на отдельный сервер. Установили его как в прошлый раз. Новый сервер работает за NAT-ом. Пробросили порты 1935, 8080, 8888, 8443, 30000-33000, открыли их же в iptables. В конфиге в ip указали внешний ip сервера, в ip_local указали ip, который выдает ifconfig (внутренний). Активировали лицензию.
    1) По урлам https://host:8888 и https://host:8443 ничего не открывается. На прошлом сервере все было нормально.
    2) Попробовали невзирая на демо в своем web-приложении заменить ip со старого сервера на новый и посмотреть результат. Сессия flashphoner устанавливается нормально, видео вроде как стартует без ошибок (в консоли никаких проблем нет, в логах указан статус playing), но при этом картинки нет никакой.

    В чем может быть проблема? Логи выслал.
  11. Max

    Max Administrator Staff Member

    При такой установке нужно добавить настройку
    Code:
    rtc_ice_add_local_component=true
    в flashphoner.properties
    и перезагрузить wcs-сервер
    Code:
    service webcallserver restart
    Либо обновиться до последней сборки. Начиная с билда 2189, эта настройка включена по-умолчанию.
  12. winchester7

    winchester7 New Member

    Добрый день. Добавил настройку, перезагрузил - ничего не изменилось.

    Новые логи с новым файлом настроек выслал на почту.
  13. Max

    Max Administrator Staff Member

    В логах видно проблемы с лицензией.
    Попробуйте остановить сервер, деактивировать лицензию скиптом ./deactivation.sh, потом активировать ее заново скриптом ./activation.sh и запустить WCS сервер.
    Здесь более подробно:
    http://forum.flashphoner.com/threads/troubleshooting.10768/#post-11474
    Если не поможет, пришлите еще раз логи и всю папку conf
  14. winchester7

    winchester7 New Member

    Почему-то демо на порту 8888 и 8443 так и не заработали, но в приложении видео заработало, поэтому все нормально. Спасибо!
  15. Max

    Max Administrator Staff Member

    Возможно проблемы с SSL-сертификатом, если его конечно импортировали.
    Или же порты 8888 и 8443 закрыты.
    Проверьте их телнетом:
    Code:
    telnet host 8888
    telnet host 8443
    Или порты 9091 и 8080 через http
    Code:
    http://host:9091
    wss://host:8080

Share This Page