Как я могу остановить запись с интервалом, не останавливая поток, чтобы сохранить VoD на Ant Media Server в моих источниках потока и IP-камерах?
Как я могу сохранять записи VoD без остановки потоковой передачи?
Ответы (1)
Вы можете добиться этого с помощью скрипта Python. Предполагая, что вы установили python3 и pip. Следующий сценарий останавливает и снова запускает запись через определенные пользователем интервалы:
import sys
import sched, time
try:
import requests
print("requests library already installed!")
except ImportError:
try:
import pip
print("requests library is being installed")
pip.main(['install', '--user', 'requests'])
import requests
except ImportError:
print("pip is not installed, so it needs to be installed first to proceed further.\nYou can install pip with the following command:\nsudo apt install python3-pip")
slp=sched.scheduler(time.time,time.sleep)
def startStopRecording(s):
print("Stopping the recording of "+sys.argv[2])
response=requests.put(sys.argv[1]+"/rest/v2/broadcasts/"+sys.argv[2]+"/recording/false")
if response.json()["success"]:
print("recording of "+sys.argv[2]+" stopped successfully")
print(response.content)
print("starting the recording of "+sys.argv[2])
response=requests.put(sys.argv[1]+"/rest/v2/broadcasts/"+sys.argv[2]+"/recording/true")
print(response.content)
if response.json()["success"]:
print("recording of "+sys.argv[2]+" started successfully")
s.enter(int(sys.argv[3]),1,startStopRecording,(s,))
else:
print("Couldn't start the recording of "+sys.argv[2])
print("content of the response:\n"+response.content)
sys.exit()
else:
print("Couldn't stop the recording of "+sys.argv[2])
print("content of the response:")
print(response.content)
sys.exit()
slp.enter(int(sys.argv[3]),1,startStopRecording,(slp,))
slp.run()
Пример использования будет таким: python3 file.py https: // domain / {Application} streamId interval
Первый параметр - это домен, который вы собираетесь использовать, например: https://someexample.com:5443/WebRTCAppEE
Второй параметр - это идентификатор потока, который вы хотите использовать. Бывший. поток123.
Третий параметр - это продолжительность интервала, в котором вы хотите возобновить запись. Единица длительности - секунды. Таким образом, 60 будет равно 1 минуте.
person
Enes Kuluk
schedule
27.01.2021