Как люди кодируют WEBM, чтобы увеличить время окончания?

Как люди кодируют WEBM, чтобы увеличить время окончания?

У меня есть видео в Discord, которое объясняет, что именно я имею в виду. https://cdn.discordapp.com/attachments/288528119525146635/634072701585195038/you.webm По сути, видео начинается с продолжительностью всего 0:02 секунды, но по мере воспроизведения время окончания увеличивается до 1:03 или около того. Я не знаю, как люди это делают.

решение1

Для файлов webm длительность является частью данных, включенных в файл. Если вы хотите изменить это, откройте видео webm в шестнадцатеричном редакторе (я использую плагин hex edit в Notepad++), затем прокрутите вниз до адреса 00000140. Эта строка содержит данные о длительности. В частности, адрес 00000141. 0000014bЯ 44 89 88 40 be 1b 00 00 00 00 00 не уверен на 100%, но я почти уверен, 44 89что это идентификатор элемента, идентифицирующий его как элемент длительности. Далее, 88я почти уверен, что это размер содержимого. Наконец, у нас есть фактическое содержимое, это то, что вам нужно будет изменить, чтобы изменить длину видео и индикатор выполнения. Это подписанное 64-битное число Double, вы можете использоватьдвоичныйконвертироватьдля преобразования десятичного времени (в миллисекундах) в необходимое вам шестнадцатеричное значение.

Если вы все еще в замешательстве,посмотрите это видео от flytech об этом

решение2

Видео просто не отображает длину вообще (т. е. длину, равную 0) — таким образом, длина, отображаемая разными проигрывателями, может быть равна либо нулю, либо буферизованному объему, либо даже отрицательной воспроизводимой длине (тотем).

Связанный контент