Aleks_V
|
Дата: Понедельник, 01 Февраля 2021, 22:55 | Сообщение #4
|
Группа: Проверенные
Сообщений: 3
Статус: Оффлайн
|
Добрый вечер!
> не совсем понятно, в чем проблема заключается. Вы включаете запись ровно на 14 часов, а получаете запись длиной 14 часов 2 минуты? Совершенно верно. Сначала я наивно полагал, что стоит взять смещение от начала файла, и я почти точно попаду в нужное место, будь это первый или скажем десятый час записи. На файлах покороче, пять часов например, в WMA не хватает 9 секунд. Немного, но неприятно. Такое ощущение, что внутри файла существует своя "система отсчета" Покурил эту тему - профи для синхронизации используют отдельную дорожку с линейным тайм-кодом. Думаю, может, сделать его в упрощенном виде. Однако, тут нужно еще учесть, сколько времени от момента по часам компьютера проходит до того времени, когда звук, который был в этот момент, станет частью закодированного файла. Но надеюсь, что в этом месте ошибка плюс-минус будет не очень большой. Т.е. тут в общем мешает ошибка, которая накапливается, а "мгновенной" можно и пренебречь.
Сам по себе ffmpeg мне кажется мало что даст. Надо конечно пробовать и MP3, и Opus, возможно и другие кодеки. В идеале, нужен какой-то кодек, который на многочасовых записях дает такую же длину, что и время записи, если это вообще возможно в форматах со сжатием. В чем я пока как раз еще и не разобрался. Кстати, еще момент - запись в WMA (он по сути часть Windows) стартует почти мгновенно. А вот в OGG как мне показалось, через внешние библиотеки, теряется секунды две от момента начала записи. С MP3 скорее всего будет тоже самое. Т.е. уже на старте мы получим лаг, который может еще и зависеть от конкретной машины.
И да, спасибо. Завтра буду пробовать и в WAV несколько часов. Может и правда, тут не только сжатие, в которое я пока уперся.
Добавлено (02 Февраля 2021, 22:34) --------------------------------------------- Приветствую! Пока продолжаю эксперименты с WMA. Результаты относительно обнадеживающие. Интересно, что нужно смотреть не на то время, которое показывают плееры, а на фактическое, по таймеру компьютера. Например, я знаю, что писал ровно 9 часов. А в свойствах файла длина другая - 8:59:45. Всего - 1 428 181 146 отсчета. Если это число разделить точно на число секунд в 9 часах, получим SampleRate 44079 на 1 секунду. Если плясать от этого SampleRate, то почти попадаем в плеере +/- на нужную секунду, например, на 8 часов 59 минут и 10 секунд (там, перед окончанием записи, я считал в микрофон, поэтому проверить легко). На часовом файле (по свойствам он получился как 59:58) SampleRate получился 44084. Тоже вроде позиционируется нормально. Нужно, конечно, еще проверить, в серединах файлов и прочее..
Сообщение отредактировал Aleks_V - Среда, 03 Февраля 2021, 08:50
|