Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Поиск в бинарном файле (http://forum.oszone.net/showthread.php?t=349681)

afj 24-09-2021 05:21 2967403

Поиск в бинарном файле
 
Смотрю видео с внешней аудиодорожкой ac3, и часто она с другого релиза (другие заставки вначале) и сдвинута по времени. Плееры хорошо отрабатывают сдвиг внешнего аудио назад, но плохо - вперёд.
Поэтому для сдвига вперёд делаю "наращивание" дорожек ac3 спереди пустыми фреймами.
Код:

::setlocal enableextensions enabledelayedexpansion
set /a dur=%1
echo %dur%
set /a quant=dur/32
echo %quant%
set cl=1f.ac3
for /L %%i in (2,1,%quant%) do call set "cl=%%cl%% +1f.ac3"
echo %cl%
copy %cl% +%2 /B %2- /B

батник вызывается addac3 <длительность сдвига> <аудиодрожка>
По сдвигу рассчитывается количество вставляемых фреймов-пустышек (файл 1f.ac3), и формируется команда copy.
Но файлы бывают разных битрейтов, и для каждого битрейта нужна своя "пустышка". Размеры фреймов для разных битрейтов известны, заголовок известен, и возможные его смещения известны. Хочется определять это в рантайме.
По сути поиск подстроки в строке, только обе бинарные.
Чем силами cmd/vbs "пощупать" бинарный файл по заданным смещениям, либо искать в нем нужную бинарную последовательность?

Также хотелось бы реализовать порезку дорожки (сдвиг назад). Чем силами cmd/vbs можно разрезать (достаточно большой) бинарный файл?

ЗЫ про ffmpeg знаю

Iska 24-09-2021 06:34 2967406

Цитата:

Цитата afj
Чем силами cmd/vbs "пощупать" бинарный файл по заданным смещениям, »

PowerShell. Ни пакетные файлы, ни WSH не предназначены для работы с двоичными данными.

DJ Mogarych 24-09-2021 08:44 2967412

Может быть, поможет sfk.


Время: 17:01.

Время: 17:01.
© OSzone.net 2001-