REST API - не завершается работа потока

vsevolod

New Member
Добрый день, помогите, пожалуйста, разобраться с непонятным моментом:
реализована такая схема - при помощи ffmpeg через rtmp://****:1935/live/streamName1 публикуется поток. Для того, чтобы прекратить публикацию используется REST API - с помощью метода /stream/find с параметрами "name":"streamName1", "published":true находится mediaSessionId и sessionId которые затем передаются в методы /stream/terminate и /connection/terminate, соответственно.

К сожалению, я не заметил версию сервера, начиная с которой поведение изменилось - но примерно в ноябре прошлого года эта схема работала и позволяла остановить публикацию потока, закрыть подключение и приводило к завершению процесса ffmpeg на сервере. Сейчас (версия 0.5.26.2747 - 5.0.2778) метод /stream/terminate возвращает код 200, но поток продолжает проигрываться, а метод /connection/terminate возвращает 404, хотя при помощи /connection/find_all можно видеть, что подключение с таким sessionId присутствует.

Возможно теперь необходимо сначала остановить процесс ffmpeg, передающий поток? Помогите, пожалуйста, разобраться.
 

Max

Administrator
Staff member
Здравствуйте.
Проблема не воспроизводится в сборке 2915.
Тестируем так:
1. Публикуем поток с ffmpeg
ffmpeg -re -i /tmp/VIDEO.mp4 -preset ultrafast -acodec aac -vcodec h264 -strict -2 -f flv rtmp://192.168.88.59:1935/live/stream1
2. Играем поток стандартным примером Player
https://192.168.88.59:8888/client2/examples/demo/streaming/player/player.html
3. Получаем в логе flashphoner_manager.log mediaSessionId и вызываем terminate на REST API
Code:
http://192.168.88.59:9091/rest-api/stream/terminate
{
"mediaSessionId":"91fe48f0-279d-11e8-b09b-3383b7afa6a0"
}
Все работает. Поток завершается.
 

Attachments

Top