alexanderY
Member
Существует ли настройка, аналогичная record_filename_template?
Требуется в имени файла указывать таймштамп - когда начался стрим.
Требуется в имени файла указывать таймштамп - когда начался стрим.
stream_record_policy=streamName
Пока не понятно для чего это требуется и что считать началом стрима.Требуется в имени файла указывать таймштамп - когда начался стрим.
Понимаю. Задача скорее всего не самая распространенная. Требуется вырезать из записи отрезок, зная дату и время начала и длительность. Т.е. отсечь лишнее. Грубо говоря, юзеры зашли в комнату, не одновременно. Прошло некоторое время, все подключились, протестировали (все друг друга видят и слышат). Нажали кнопку, и вот с этого момента нам потом нужно будет выделить запись. Т.е. дата-время в момент нажатия кнопки сохраняется. И уже после, во время постпроцессинга, нужно взять эту дату и отсечь всё, что было раньше.Пока не понятно для чего это требуется и что считать началом стрима.
Насколько я знаю, в большинстве файловых систем не хранится дата создания файла. Да и вообще, если файл перемещается в другую директорию хуком on_record_hook.sh, вывод команды stat (к примеру) будет вот таким:Проверьте дату / время записываемого файла. Время, когда файл открыли на запись и является началом стрима (один из вариантов).
Access: 2017-03-09 08:00:42.529948900 +0000
Modify: 2017-03-09 08:00:42.534453600 +0000
Change: 2017-03-09 08:00:42.534453600 +0000
Access: 2017-03-09 10:24:04.968755845 +0000
Modify: 2017-03-09 10:24:04.964755832 +0000
Change: 2017-03-09 10:24:04.964755832 +0000
stream_record_policy=template
stream_record_policy_template={streamName}_{startTime}_{mediaSessionId}_{sessionId}_{audioCodec}_{videoCodec}_{login}
stream_record_policy=template
stream_record_policy_template={streamName}_{startTime}
Да, в реализации сейчас проще склеить позже, чем дозаписать.Вариант дозаписи конечно шикарен, но думаю реализовать его будет довольно накладно
stream_record_policy=template
stream_record_policy_template={streamName}**{startTime}
{
"nodeId": "DbnxXOHLUpHEaG895Za1A@127.0.0.1",
"appKey": "defaultApp",
"sessionId": "/xxx.xxx.xxx.xxx:19930/yyy.yyy.yyy.yyy4:8443",
"mediaSessionId": "DDCFBAE2-B242-489C-9518-73BDBBA9C01E",
"name": "-LD75XMaVJ6VE5eEWf_B",
"published": true,
"hasVideo": true,
"hasAudio": true,
"status": "PUBLISHING",
"audioCodec": "opus",
"videoCodec": "H264",
"record": true,
"recordName": "-LD75XMaVJ6VE5eEWf_B**1526996806584.mp4",
"width": 0,
"height": 0,
"bitrate": 0,
"minBitrate": 0,
"maxBitrate": 0,
"quality": 0,
"createDate": 1526996806165,
"mediaProvider": "WebRTC",
"history": false,
"custom": {
"streamStatus": "publish",
"authToken": "ios-test-token"
},
"origin": "https://my.site:8443/"
}
А где вы увидели что началоВ чем несоответствие?
{streamName} = -LD75XMaVJ6VE5eEWf_B
{startTime} = 1526996806579
Шаблон {streamName}**{startTime}
Результат
Выглядит все корректно.Code:-LD75XMaVJ6VE5eEWf_B**1526996806579.mp4
Как должно быть правильно, на ваш взгляд?
{startTime} = 1526996806579
"recordName": "-LD75XMaVJ6VE5eEWf_B**1526996806584.mp4",
-LD75XMaVJ6VE5eEWf_B**1526996806579.mp4
Я заметил, что в 99% разница в 5 mc. Но это все равно много, так как если стрим начался записываться за 4 мс. до начала новой секунды, то в итоге, имя файла будет другоимДа, сейчас видно. Спасибо.
Разница в составляющей времени в миллисекундах.