Автоматизированная работа с большим кол-вом контейнеров и аудио дорожек при помощи .bat скриптов [Инструкция]

Страницы :   Пред.  1, 2, 3 ... 8, 9, 10 ... 16, 17, 18  След.
Ответить
 

AlistRain

Стаж: 12 лет 4 месяца

Сообщений: 536


AlistRain · 02-Дек-13 15:59 (11 лет 1 месяц назад, ред. 02-Дек-13 15:59)

Xpюша писал(а):
61957511КАК это сделать bat-файлом?
Попробовал по дате создания avs(атрибут рид онли)
если я правильно понял
@echo off
setlocal enabledelayedexpansion
set x2648="D:\shared\distr\_encode\x2648.exe"
dir /AR /B /OD > spiskota.txt
rem /AR ReadOnly [AVS] /a-d [-d W/O folder] | /B NamesOnly /OD s[O]rt by: [D]ate [-D reverse]
FOR /F %%I in (spiskota.txt) DO (
echo %%nxI
%x2648% -o %%~nI.264 %%~nxI
)
но это маразм людей не знающих программирования (вроде меня). Даже пример есть в теме VirtualDub и все
dionus108 писал(а):
61932714Если конкретнее, то шаги следующие:
Написать работающий батник можно было? Я бы посмотрел.
[Профиль]  [ЛС] 

Xpюша

Стаж: 15 лет 6 месяцев

Сообщений: 3635


Xpюша · 02-Дек-13 16:13 (спустя 14 мин., ред. 02-Дек-13 16:13)

AlistRain писал(а):
61958270setlocal enabledelayedexpansion
Знаете, к каким неприятностям приводит enabledelayedexpansion?
Каждый раз, когда до этого доходит, я говорю: "Возьмите нормальный скриптовый язык (REXX, TCL, даже WSH) и не мучайтесь".
[Профиль]  [ЛС] 

AlistRain

Стаж: 12 лет 4 месяца

Сообщений: 536


AlistRain · 02-Дек-13 16:31 (спустя 17 мин.)

Xpюша писал(а):
61958407Знаете, к каким неприятностям приводит enabledelayedexpansion?
Нет. И задач которые их могут вызвать у меня тоже нет. А человек dionus108, теоретически, мог меня приблизить к ним, написав свой батник, но не сложилось.
Но если что-то ужасное происходит, я почитаю.
[Профиль]  [ЛС] 

Xpюша

Стаж: 15 лет 6 месяцев

Сообщений: 3635


Xpюша · 02-Дек-13 16:52 (спустя 21 мин., ред. 02-Дек-13 16:52)

AlistRain писал(а):
61958661И задач которые их могут вызвать у меня тоже нет.
Проблема не в задачах, а в именах файлов, которые могут встретиться скрипту в процессе его выполнения.
AlistRain писал(а):
61958661Но если что-то ужасное происходит, я почитаю.
Когда включено отложенное расширение переменных окружения (delayedexpansion), один из имеющихся на клавиатуре символов начинает использоваться скриптом в своих служебных целях. Без этого вполне можно было бы обойтись, или задействовать один из символов, который и так служебный, или использовать символ, который заведомо не может встретиться в имени файла, или предусмотреть его экранирование, или... Но маразматики из Microsoft тупо задействовали "!". И в результате, если в имени файла встречается восклицательный знак - в скрипт имя файла попадает без него. А это значит, что файл с "!" в имени в принципе не может быть обработан скриптом, зато вместо него может быть обработан совсем не тот файл или никакой не обработан. В самом лёгком случае это приведёт разве что к выводу сообщения об ошибке. Но в случае средней тяжести - скрипт слетит. А в тяжёлом - будет невосстановимо убит какой-то позарез нужный файл.
Оно нам надо?
[Профиль]  [ЛС] 

AlistRain

Стаж: 12 лет 4 месяца

Сообщений: 536


AlistRain · 02-Дек-13 17:09 (спустя 17 мин., ред. 02-Дек-13 17:09)

Xpюша писал(а):
61958864в именах файлов
Они у меня вида 1.01 (сезон-серия), или имя строго из английских букв (qwer2strikeback2014)
Xpюша писал(а):
61958864один из ... символов ... "!"
Видел http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=633&limit=1 но не придал значения.
Т.к. cmd /? данный символ присутствует, 146% что я бы вспомнил пост с ру-борд. Или не вспомнил, но файло переименовал бы в 1
Xpюша писал(а):
61958864Оно нам надо?
, опыт на мелких ошибках позволяет не психовать и быть внимательнее
Спасибо за пояснения.
[Профиль]  [ЛС] 

Kevin888

Стаж: 17 лет 3 месяца

Сообщений: 112

Kevin888 · 11-Янв-14 23:30 (спустя 1 месяц 9 дней)

Помогите, пожалуйста со скриптом.
Есть файлы 01.mkv ... 30.mkv в каждом 5 аудио дорожек ac3 и dts
и есть отдельные дорожки к каждой серии по 2 штуки (01r.ac3 и 01e.ac3 и т.д.)
Нужно из каждой серии удалить все 5 дорог и присоединить эти внешние. Попытался сделать скрипт, но получается на выходе только присоединение внешних дорог.
[Профиль]  [ЛС] 

miha2154

Стаж: 16 лет 5 месяцев

Сообщений: 12200

miha2154 · 11-Янв-14 23:57 (спустя 26 мин., ред. 11-Янв-14 23:57)

Ну а скрипт то где?
А так?
Код:
FOR %i IN (*.mkv) DO (ffmpeg -i "%i" -i "%~ni"r.ac3 -i "%~ni"e.ac3 -map 0:0 -vcodec copy -map 1:0 -acodec copy -map 2:0 -acodec copy "Новая папка\%~ni".mkv)
или так
Код:
FOR %i IN (*.mkv) DO (ffmpeg -i "%i" -i "%~ni"r.ac3 -i "%~ni"e.ac3 -map 0:0 -vcodec copy an -map 1:0 -acodec copy -map 2:0 -acodec copy "Новая папка\%~ni".mkv)
[Профиль]  [ЛС] 

Kevin888

Стаж: 17 лет 3 месяца

Сообщений: 112

Kevin888 · 12-Янв-14 00:46 (спустя 49 мин.)

miha2154 писал(а):
62495887Ну а скрипт то где?
А так?
Код:
FOR %i IN (*.mkv) DO (ffmpeg -i "%i" -i "%~ni"r.ac3 -i "%~ni"e.ac3 -map 0:0 -vcodec copy -map 1:0 -acodec copy -map 2:0 -acodec copy "Новая папка\%~ni".mkv)
или так
Код:
FOR %i IN (*.mkv) DO (ffmpeg -i "%i" -i "%~ni"r.ac3 -i "%~ni"e.ac3 -map 0:0 -vcodec copy an -map 1:0 -acodec copy -map 2:0 -acodec copy "Новая папка\%~ni".mkv)
Так окно командной строки открывается и сразу закрывается.
[Профиль]  [ЛС] 

miha2154

Стаж: 16 лет 5 месяцев

Сообщений: 12200

miha2154 · 12-Янв-14 11:02 (спустя 10 часов)

Это вы батник запускаете! Там нужно все % заменить на %%. Но лучше открыть окно cmd и туда этот скрипт вставить - тогда закрываться не будет и все ошибки будет видно.
[Профиль]  [ЛС] 

Аzat-777

Стаж: 12 лет 8 месяцев

Сообщений: 45


Аzat-777 · 12-Янв-14 11:31 (спустя 28 мин.)

Kevin888
В конце батника добавьте
Код:
pause
Окно не будет закрываться
[Профиль]  [ЛС] 

Kevin888

Стаж: 17 лет 3 месяца

Сообщений: 112

Kevin888 · 12-Янв-14 16:56 (спустя 5 часов, ред. 12-Янв-14 23:13)

miha2154 писал(а):
62499619Это вы батник запускаете! Там нужно все % заменить на %%. Но лучше открыть окно cmd и туда этот скрипт вставить - тогда закрываться не будет и все ошибки будет видно.
Получилось, спасибо.
[Профиль]  [ЛС] 

Thhor2

Стаж: 14 лет 4 месяца

Сообщений: 262


Thhor2 · 27-Янв-14 19:47 (спустя 15 дней, ред. 27-Янв-14 19:47)

Bat это конечно хорошо, оч облегчает процесс, но их еще надо уметь писать, те что есть могут не все задачи решать.
Решает проблему индивидуального подхода к решению однотипной для всех выбранных файлов задачи.
Но задача может быть разной для всех выбранных файлов или отличающейся незначительно.
Хорошо бы какую простенькую утилитку GUI (для создания нужного батника что ли, или пусть сама передает параметры в соответствующую программу...) для пакетной пересборки... настраиваемую.
Тот же MkvToolNix хорош, но пока очередь заданий построишь... та же морока, все файлы перебираешь по одному, опять же только в mkv.
MkvCleaver - в этом плане хорош! Открыл все файлы..., галочки в дереве поснимал и готово, ...но умеет только вытаскивать компоненты ((( Жаль нет функции пересобрать с заданными галками!!!
Хорошо бы какой GUI типа таблицы что ли, этакий комбайн, чтоб показывал содержимое контейнеров и оставалось только:
- лишние галки снять,
- пересортировать, местами переставить компоненты
- указать пути к тому, что добавить... в контейнер и т.п.
Что бы проще, через GUI, создавать этот самый батник и передавать его куда бы там ни было.. toolnix, mp4box, avimux и другие программы... не обязательно же полностью свою прогу писать, можно передавать задания в те, что самостоятельно существуют и развиваются.
Может кто, кто умеет и разбирается, сумеет сделать, оптимизировать процесс!? Такой подход позволил бы не только проще обработать много файлов по одному (легко настраиваемому в GUI) принципу, но и много файлов за раз с индивидуальным к каждому подходом.
Думаю утилита пользовалась бы большой популярностью )))
[Профиль]  [ЛС] 

miha2154

Стаж: 16 лет 5 месяцев

Сообщений: 12200

miha2154 · 03-Фев-14 18:58 (спустя 6 дней, ред. 05-Фев-14 10:54)

Поскольку ffmpeg не умеет корректно работать с контейнером avi со звуком AC3 (на выходе получаются дробные:
Код:
Продолжительность промежутка             : 160  мс. (3,84 видеокадра)
Время предзагрузки промежутка            : 640  мс.
+ портится идентификатор кодека у многоканальных (>=3) дорог:
Код:
Формат                                   : AC-3
Формат/Информация                        : Audio Coding 3
Идентификатор кодека                     : 00001000-0000-0020-8000-00AA00389B71 #вместо 2000
) я после долгих поисков чисто случайно наткнулся на консольную программку DivXMux.exe (Впрочем есть к ней и GUI в том же пакете) из пакета DivXMediaFormat_SDK, которая может работать пакетно, и все эти дела корректно собирать (разбирать похоже не может), + может паковать субтитры в контейнер. Но есть небольшая шляпа - Идентификатор кодека xvid она правит на dx50 и тип файла на выходе:
Код:
Формат                                   : DivX
Формат/Информация                        : Hack of AVI
. Впрочем это исправляется прогонкой через VDM (для прописки тегов).
PS Не разобрался пока, можно ли в ней теги прописать.
Пример батника (думаю тут все ясно без коментариев):
Код:
FOR %%i IN ("*.avi") DO (DivXMux.exe -v "%%i" -a  "%~ni.dub.ac3" -a "%%~ni.lost.mp3"  -a "%%~ni.eng.ac3" -s "%%~ni.rus.srt" -s "%%~ni.eng.ass" -o "Новая папка\%%~ni.avi")
[Профиль]  [ЛС] 

dionus108

Стаж: 14 лет 7 месяцев

Сообщений: 166


dionus108 · 10-Фев-14 02:08 (спустя 6 дней, ред. 10-Фев-14 02:08)

AlistRain писал(а):
Написать работающий батник можно было? Я бы посмотрел.
Несколько сообщений назад уже давал ссылку:
dionus108 писал(а):
Для пакетного переименования файлов по списку (с возможностью оперативного редактирования) написал вот такой батник:
http://it.dnepro.org/2013/120.html
Там конкретно производится обработка файлов, полученных командой dir.
Thhor2 писал(а):
Хорошо бы какой GUI типа таблицы что ли, этакий комбайн, чтоб показывал содержимое контейнеров и оставалось только:
Если требуется смотреть содержимое контейнеров, то это уже подразумевает самые разнообразные варианты в каждом из файлов - а следовательно автоматизации уже не получится , поскольку
Thhor2 писал(а):
та же морока, все файлы перебираешь по одному
_______
Thhor2 писал(а):
GUI типа таблицы
Это как? Таблица в которой сразу несколько видеофайлов загрузить можно? Так все равно придется по одному клацать, поскольку в одном файле будет 4 аудиодорожки и 7 субтиров, а в другом 3 аудиодорожки и 9 субтитров.
[Профиль]  [ЛС] 

baltaf

Стаж: 15 лет 5 месяцев

Сообщений: 629


baltaf · 15-Фев-14 08:55 (спустя 5 дней, ред. 16-Фев-14 06:33)

Прошу сильно не ругать. С AviSynth - не работал и не собирался.
Но, необходимо открывать файлы немного осветленными, глаза никакие.
Экран настроен под них. А видео в этом режиме вообще еле заметно.
Нашли возможность открытия, редактирования и пр. через AviSynth.
Сделали скрипт. Нужно решить 2 проблемы.
1) Открывать видео нужно вместе с аудио (через AviSynth в Вертуал Дабе).
Пока не решили, наверно с работающими с AviSynth решим.
2) Нужно сделать этот скрипт универсальным, хотя бы для avi. Т.е. чтобы с ним можно было открывать любые аналогичные файлы не указывая конкретных названий и/или не исправляя не скрипт, не названий файлов.
Можно ложить в отдельный каталог и файлы держать там по одному.
Многие писали, что можно с батниками автоматизировать, решить это проблему. Даже можно пакетную обработку делать.
Прошу помощь.
Exner
И что потом батник появиться или в видео редакторе видео станет светлее? А, видимо можно будет в плеере редактировать. Удалите пожалуйста свой пост если можно, или подчистите, не закапывайте просьбу.
[Профиль]  [ЛС] 

Exner

Top Loader 02* 300GB

Стаж: 15 лет 1 месяц

Сообщений: 2271

Exner · 16-Фев-14 02:42 (спустя 17 часов, ред. 16-Фев-14 02:42)

baltaf
Подключите скрипт непосредственно в проигрыватель (в PotPlayer, например)

Бросьте скрипт в папку скриптов плеера C:\Program Files\PotPlayer\AviSynth
а потом выберите в списке. А вообще нечего не мешает просто настроить яркость и контраст.
[Профиль]  [ЛС] 

baltaf

Стаж: 15 лет 5 месяцев

Сообщений: 629


baltaf · 16-Фев-14 15:09 (спустя 12 часов)

Exner ну вот, Вы своим сообщением "отбили" другие возможные ответы.
Теперь не видят что есть свежие просьбы.
[Профиль]  [ЛС] 

Exner

Top Loader 02* 300GB

Стаж: 15 лет 1 месяц

Сообщений: 2271

Exner · 16-Фев-14 15:49 (спустя 39 мин.)

baltaf
Вообще сложно понять, чего именно Вы хотите добиться. Я прочёл несколько раз, но так до конца и не понял. Понял только одно:
baltaf писал(а):
62960088необходимо открывать файлы немного осветленными
Вам нужно открывать для редактирования или просмотра?
Если для просмотра, то для этого не нужно никаких скриптов, достаточно просто настроить яркость и ничего больше. Если же Вы решили использовать для настройки под себя AviSynth, то подключите созданный скрипт в проигрыватель и любое видео любого формата будет обрабатываться на лету. В этом и есть универсальность, которой вы добиваетесь. Правда, чем больше разрешение, тем больше будет нагрузка на процессор.
Если же Вы ищете универсальный avs-скрипт, который работает с перебором всех файлов в папке, то такой функции в AviSynth за все года я не видел и тому есть много причин. Каждый отдельный формат видео принято индексировать наиболее "правильным" (frame accurate) декодером. Поэтому унифицировать, а том более автоматизировать этот процесс не выйдет аж никак. В АвиСинте не предусмотрено операторов типа "%%~ni", производящих подбор по имени или формату FOR %%i IN (*.avi).
Загружая в ВитруалДаб скрипт, написанный в АвиСинте, придётся вручную в скрипте в строке source изменять путь к индексируемому файлу и соответственно сам индексер в зависимости от формата индексируемого файла. В большинстве случаев хороший результат даёт DSS2(path to file) (DiredcShowSource 2), но можно довольствоваться и обычным AviSource(path to file) для AVI.
[Профиль]  [ЛС] 

baltaf

Стаж: 15 лет 5 месяцев

Сообщений: 629


baltaf · 16-Фев-14 16:55 (спустя 1 час 6 мин., ред. 16-Фев-14 19:17)

В первом посте все написано, кто не может понять, не занимается словоблудием, а просто молчит. Видимо еще Вам рано. И не нужно закапывать вопрос, своим бредом.
Вместо того чтобы или молчать или на конкретный вопрос ответить, пускается на тирады по около научным предметам, это иначе как бредом назвать трудно. Вы можете быть супер знающим и великим спецом, но если ведете себя таким образом, мои слова никак не могут быть оскорблением.
Просто, не нужно себя выше других все знайкой и учить по не касаемым вопросам.
Никто такого права Вам не давал и дать не может.
Форум это общественное место, вопросы адресуются ко всем и кто знает тот отвечает.
Не знает, не хочет ответить на конкретный вопрос ответ, то не должен отвечать на не заданные и/или строить по ним свои никчемные догадки.
Просил помощь составить батник, с помощью которого делается "всеядный" скрипт. И указал в чем заключается - открыть ави файл с разным названием (через Ависент на VD). Не переделывая названия не самих файлов, не название файла указываемого в самом скрипте. То, что Вы не знаете, это не значит что это не возможно. Указано, в отдельном каталоге, по одному файлу. Про кодеки, декодеры ничего нет, тем более соотношения, размеры кадров и пр... - значит, это Вас не касается. ТОЛЬКО вопрос с разными названиями - БАТ ник. Может для ВАС открытием будет? Люди умудряются проводить пакетную обработку на VD. Т.е. с одного каталога по очереди, подряд, не отдельно даже - они одного названия не могут быть. Мне же по одному, отдельно. Для чего открывать - вообще то это тоже Вас не должно касаться. Хотя, там указано и я еще добавлял, уточнял.
[Профиль]  [ЛС] 

Exner

Top Loader 02* 300GB

Стаж: 15 лет 1 месяц

Сообщений: 2271

Exner · 16-Фев-14 18:52 (спустя 1 час 56 мин.)

baltaf
Возможно проблема в том, что Вы неправильно ставите вопрос? Если Вы ничего не поняли из того, что я написал, то пожалуй это Вам рано.
baltaf писал(а):
62960088можно было открывать любые аналогичные файлы не указывая конкретных названий и/или не исправляя не скрипт, не названий файлов.
Средствами АвиСинта этого сделать нельзя! Возможно следует подучить АвиСинт, прежде чем называть мои слова бредом и словоблудием. Я Вам не грубил и Вы в свою очередь не заставляйте меня грубить в ответ.
[Профиль]  [ЛС] 

snakeМарат

Top Bonus 02* 500GB

Стаж: 15 лет 7 месяцев

Сообщений: 1007

snakeМарат · 16-Фев-14 19:38 (спустя 45 мин.)

Пока просто подпишусь) Тема интересная!
[Профиль]  [ЛС] 

baltaf

Стаж: 15 лет 5 месяцев

Сообщений: 629


baltaf · 16-Фев-14 20:14 (спустя 36 мин.)

Exner
Цитата:
Средствами АвиСинта этого сделать нельзя!
И снова в своем ключе, название темы Автоматизированная работа с большим кол-вом контейнеров и аудио дорожек при помощи .bat скриптов.
Я не утверждаю, а наоборот написал, что не знаю, не работал. Но читал что с батником можно.
Вот и молчите дальше. Может кто докажет обратного.
Отсутствие, невозможность - доказать скорее не возможно.
История знает много примеров, о ничтожности таких доказательств.
А вот обратное, если оно возможно, то подлежит и доказывается.
[Профиль]  [ЛС] 

RoxMarty

RG Мультфильмы

Стаж: 17 лет 9 месяцев

Сообщений: 14649

RoxMarty · 16-Фев-14 21:34 (спустя 1 час 19 мин., ред. 16-Фев-14 21:34)

baltaf
Я-то думал, что у нас только с тобой некогда был практически конфликт, вызванный полным непониманием друг друга, оказывается, не только. Всё тот же - "старый добрый стиль" Советую не нервировать народ (тем более опытный) в этой теме, т.к. здесь подсказывают реальные и практичные вещи и то, что ты не можешь это понять и оценить чужую помощь - не значит, что вокруг все тупые Лично я бы после таких "благодарных" ответов вообще перестал с тобой общаться, но народ, видимо, более вежливый и терпеливый - за это им честь и уважение!
[Профиль]  [ЛС] 

Xpюша

Стаж: 15 лет 6 месяцев

Сообщений: 3635


Xpюша · 16-Фев-14 22:12 (спустя 37 мин., ред. 16-Фев-14 22:12)

Exner писал(а):
62980061
baltaf писал(а):
можно было открывать любые аналогичные файлы не указывая конкретных названий и/или не исправляя не скрипт, не названий файлов.
Средствами АвиСинта этого сделать нельзя!
Но несложно сделать bat-ник, который, будучи натравлен на файл AVI, создаст AVS-скрипт для открытия этого файла, а будучи натравлен на каталог, для каждого AVI-файла из этого каталога создаст скрипт для открытия именно этого файла.
Вот только неизвестно, устроит вопрошающего такое решение.
А также неизвестно (непонятно), чего он всё-таки хочет: сохранять через VirtualDub отредактированные фильмы именно в этом осветлённом виде, или только видеть их осветлёнными в процессе редактирования, но сохранять результат с исходным уровнем яркости.
[Профиль]  [ЛС] 

baltaf

Стаж: 15 лет 5 месяцев

Сообщений: 629


baltaf · 16-Фев-14 23:02 (спустя 50 мин.)

Xpюша писал(а):
62983348
Exner писал(а):
62980061Средствами АвиСинта этого сделать нельзя!
Но несложно сделать bat-ник, который, будучи натравлен на файл AVI, создаст AVS-скрипт для открытия этого файла, а будучи натравлен на каталог, для каждого AVI-файла из этого каталога создаст скрипт для открытия именно этого файла.
Вот только неизвестно, устроит вопрошающего такое решение.
А также неизвестно (непонятно), чего он всё-таки хочет: сохранять через VirtualDub отредактированные фильмы именно в этом осветлённом виде, или только видеть их осветлёнными в процессе редактирования, но сохранять результат с исходным уровнем яркости.
Именно про это и думаю устроит такое решение. Раз он быстро будет готовиться (можно сказать "приспосабливается к другому файлу"), Думаю, можно будет щелкнуть батник, он запишет скрипт. Открываем с VD этот - откроется осветленный следующий нужный файл.
Дальше уже опробовано, отредактирую, отменяю осветленность - сохраняю файл (эти мои проблемы).
Я пытался показать, нужен батник, с конечной целью - чтобы с одним и тем же скриптом (важно его внутренность, а не название) открыть разные по названиям файлы. Я еще написал, что не работал с АвиСинтом.
И для чего требуется осветление - через "цветовую коррекцию в панели NVIDIA" у монитора понижаю освещенность, чтобы не болели глаза. Видео идут темными, плеера при проигрывании повышают освещенность. Например, в классике автоматом просматривается нормально и глазам нормально.
А в видео редакторах темно, если "ручками" как с самого начало стали гадать - предлагать, много ума не надо, только повышается освещенность всего монитора, быстро приходиться отказаться от работы и сидеть с болью в глазах.
Если видео осветлением обработать, т.е. сохранять - то на телеке придется постоянно регулировать.
Не все видео редактируешь и будут с разными параметрами ... Да и качество потеряешь.
Да еще, так можно было и фильтры Даба применить и смотреть через выходную панель.
Значит буду с надеждой ждать батник для скриптов.
Раз уж тут знатоки Ависента "живут" вернемся к первому пункту.
У меня через Avisource видео (XviD) вместе с аудио (МР3) не открывается - ругается, что не может декодировать.
Бились вместе с знающими Ависента. Говорят, что должен открываться по умолчанию.
Добавляю отключение аудио, открывается. Декодеры аудио (кодеки АСМ) стоят. VD открывает спокойно, обычным порядке, не через плагин и делает любые обработки. C ffms2 открывается вместе с аудио, то только через индексацию и занимает много времени.
Как бы решить проблему и открывать через Avisource видео (XviD) вместе с аудио (МР3)?
Спасибо.
[Профиль]  [ЛС] 

dionus108

Стаж: 14 лет 7 месяцев

Сообщений: 166


dionus108 · 16-Фев-14 23:35 (спустя 33 мин., ред. 16-Фев-14 23:35)

baltaf писал(а):
Нашли возможность открытия, редактирования и пр. через AviSynth.
Сделали скрипт. Нужно решить 2 проблемы.
1) Открывать видео нужно вместе с аудио (через AviSynth в Вертуал Дабе).
Пока не решили, наверно с работающими с AviSynth решим.
Проблема с аудио - то что оно может быть в разных форматах (wav,mp3,aac,ac3,dts,ogg и пр), а это влечет за собой использование разных плагинов для их подключения в AVS-скрипте. Поэтому самый простой и надежный способ - это с помощью ffmpeg выдирать аудиодорожку в несжатый WAV-файл, и его уже подключать в AVS-скрипт стандартными средствами.
Для этой цели я использую батник Avi2AVS.bat следующего содержания:
Код:
chcp 1251 > nul
echo AVISource("%~d1%~p1%~1", audio=false) > "%~n1.avs"
echo WAVSource("%~d1%~p1%~n1.wav")  >> "%~n1.avs"
echo crop(0, 0, 0, 0) >> "%~n1.avs"
chcp 866 > nul
ffmpeg.exe -i "%~1" -ac 2 "%~n1.wav"
)
Подавая через коммандную строку этому батнику имя AVI-файла на выходе получаем AVS-файл и WAV-файл.
Команда crop(0, 0, 0, 0) написана для примера - вместо нее можно писать свои команды AVS-скрипта.
baltaf писал(а):
2) Нужно сделать этот скрипт универсальным, хотя бы для avi. Т.е. чтобы с ним можно было открывать любые аналогичные файлы не указывая конкретных названий и/или не исправляя не скрипт, не названий файлов.
Можно ложить в отдельный каталог и файлы держать там по одному.
Многие писали, что можно с батниками автоматизировать, решить это проблему. Даже можно пакетную обработку делать.
Прошу помощь.
Ну а для того чтобы обработать все AVI-файлы в папке надо создать второй батник AllAvi2AVS.bat :
Код:
FOR %%f IN (*.avi) DO (
call avi2avs.bat "%%f"
)
Теперь если нужно обработать все файлы в папке запускаем AllAvi2AVS.bat,
а если нужно обработать какой-то конкретный файл - то запускаем avi2avs.bat <имя файла>.
Соответсвенно таким же образом можно обработать и файлы других форматов - mkv,mp4 и пр. Надо для них сделать свои батники (mkv2avs.bat, mp42avs.bat и т.д.)
Обычно для большинства видеофайлов (неважно какого контейнера) можно использовать батник video2avs.bat :
Код:
chcp 1251 > nul
ffmsindex.exe -t -1 -f "%1" "%1.ffindex"
echo LoadPlugin("d:\tools\ffms\ffms2.dll") > "%~n1.avs"
echo FFVideoSource("%~d1%~p1%1", threads=1) >> "%~n1.avs"
echo WAVSource("%~d1%~p1%~n1.wav")  >> "%~n1.avs"
chcp 866 > nul
ffmpeg.exe -i "%~1" -ac 2 "%~n1.wav"
)
Использовать аналогично батнику avi2avs.bat
[Профиль]  [ЛС] 

baltaf

Стаж: 15 лет 5 месяцев

Сообщений: 629


baltaf · 17-Фев-14 01:02 (спустя 1 час 27 мин.)

dionus108
Спасибо большое.
Можно было и короче. Я не работаю только с Ависент, а обработкой видео уже довольно давно и по многим форматам , с многими файлами. Ну, не важно.
С выдиранием звука и подключением внешнего, это известно. Это дольше, больше возни и пр. Я если даже не вместе, уже полегче вариант знаю, умею.
Интересует только вариант вместе. Т.е. всего только два эти вопросы интересуют.
Тем более FFVideoSource - ведет к индексации.
Все это из-за того, что мне нужно обрабатывать регулярно и по много файлов. Любые увеличения времени на подготовку и/или обработку увеличивает общее необходимое время ощутимо - не желательная "роскошь". Да и для разных контейнеров свои рецепты есть.
[Профиль]  [ЛС] 

Xpюша

Стаж: 15 лет 6 месяцев

Сообщений: 3635


Xpюша · 17-Фев-14 01:28 (спустя 25 мин., ред. 17-Фев-14 01:28)

baltaf писал(а):
62984045Думаю, можно будет щелкнуть батник, он запишет скрипт.
Вариант "запускаем bat-ник без параметров - он создаёт AVS для всех AVI" решил не реализовывать. Указывать в командной строке имя файла или каталога с файлами нужно обязательно. (Можно просто бросать мышкой на bat-ник или на его ярлык нужный AVI или каталог.)
Код:
@echo off
setlocal enableextensions disabledelayedexpansion
if '%1' == '' exit
if exist "%~1\" goto ItsADir
echo AVISource("%~nx1", "audio" = false) > "%~dpn1.avs"
echo Levels(0, 1.000, 255, 0, 255, coring=true) >> "%~dpn1.avs"
exit
:ItsADir
for %%W in ("%~1\*.avi") do echo AVISource("%%~nxW", audio=false) > "%%~dpnW.avs" & echo Levels(0, 1.000, 255, 0, 255) >> "%%~dpnW.avs"
exit
Функция Levels аналогична одноимённой функции в Фотошопе. Первые 3 её параметра ("0, 1.000, 255") соответствуют верхней шкале в Шоповском диалоге, последние 2 ("0, 255") - нижней. Настройте их один раз под себя.
baltaf писал(а):
62984045Открываем с VD этот - откроется осветленный следующий нужный файл.
Дальше уже опробовано, отредактирую, отменяю осветленность - сохраняю файл (эти мои проблемы).
И вот тут обнаруживаются проблемы:
1 (мелкая). В VD открытый скрипт не изменить. Это можно только в VDmod.
2. Если редактирование файла включало в себя работу с цветом/яркостью пикселов (а это не только цветокоррекция, но и, скажем, повышение резкости), то после отмены осветления результат может оказаться сильно неправильным.
baltaf писал(а):
62984045Да еще, так можно было и фильтры Даба применить и смотреть через выходную панель.
Да. И я не понимаю, зачем вся эта возня с Avisynth понадобилась, если работать всё равно предстоит в VD, а там своя аналогичная функция (фильтр) имеется, и включать-выключать её гораздо удобнее.
baltaf писал(а):
62984045У меня через Avisource видео (XviD) вместе с аудио (МР3) не открывается - ругается, что не может декодировать.
Добавляю отключение аудио, открывается. Декодеры аудио (кодеки АСМ) стоят.
Откройте такой AVI в GraphEdit или GSpot и нажмите кнопку "Построить граф средствами DirectShow" - посмотрите, какой именно фильтр подключается для звука.
Но сдаётся мне, что всё-таки нет у Вас для MP3 фильтра DirectShow в системе.
baltaf писал(а):
62984045VD открывает спокойно, обычным порядке,
VD использует интерфейс не DirectShow, а VideoForWindows.
baltaf писал(а):
62984045Как бы решить проблему и открывать через Avisource видео (XviD) вместе с аудио (МР3)?
А оно надо? Через Avisynth можно получить только звук, распакованный в PCM. Следовательно - придётся пережимать звук.
И это ещё один аргумент использовать для Вашей цели (осветление на время редактирования) не скрипты Avisynth, а внутренний фильтр VD.
[Профиль]  [ЛС] 

baltaf

Стаж: 15 лет 5 месяцев

Сообщений: 629


baltaf · 17-Фев-14 07:26 (спустя 5 часов)

Спасибо большое.
Xpюша писал(а):
Вариант "запускаем bat-ник без параметров - он создаёт AVS для всех AVI" решил не реализовывать. Указывать в командной строке имя файла или каталога с файлами нужно обязательно. (Можно просто бросать мышкой на bat-ник или на его ярлык нужный AVI или каталог.)
А зря решили не реализовывать! Решили так или (пока) не получился? Вот имя каталога это можно, потому что файл будет переноситься в этот каталог, и если не мешает, то и батник лежит там же.
Указывать в командной строке имя файла - если так, это значит - мы снова в пустую переписываемся.
Цитата:
Функция Levels аналогична одноимённой функции в Фотошопе. Настройте их один раз под себя.
Та же болезнь? Я же просил, не касаться того, чего у Вас не просят, я разве просил осветлять? Это я немного расслабился и стал более расширенно объяснять что я собираюсь делать. Но, ведь писал, что и где уже решено, опробовано.
baltaf писал(а):
Открываем с VD - откроется осветленный следующий нужный файл.
Дальше уже опробовано, отменяю осветленность - сохраняю файл (эти мои проблемы).
Цитата:
можно было и фильтры Даба применить и смотреть через выходную панель.
Этого мне строго не нужно!
Цитата:
VD использует интерфейс не DirectShow, а VideoForWindows.
И что это значит, чего в системе не хватает? Что поставить?
Цитата:
baltaf писал(а):
Как бы решить проблему и открывать через Avisource видео (XviD) вместе с аудио (МР3)?
А оно надо? Через Avisynth можно получить только звук, распакованный в PCM. Следовательно - придётся пережимать звук.
Да, надо и знаю, что звук при открытии "разжимается" все прекрасно будет для меня.
Еще раз попробуем, кратко и четко:
1) Чтобы открывался файл с любым названием, через Ависент (через скрипт, параметры осветления которого я укажу).
2) Чтобы видео открывался вместе со своим, не вытащенным звуком.
[Профиль]  [ЛС] 

Xpюша

Стаж: 15 лет 6 месяцев

Сообщений: 3635


Xpюша · 17-Фев-14 14:25 (спустя 6 часов, ред. 17-Фев-14 14:25)

baltaf писал(а):
62986509А зря решили не реализовывать! Решили так или (пока) не получился?
Это реализовать элементарно. А не сделано намеренно - в качестве защиты от случайного запуска.
К тому же где программа, запускаемая без параметров, должна искать AVI, к которым скрипты создавать? Либо в каком-то фиксированном месте, либо там, где сама лежит. Но в таком случае для того, чтобы ей воспользоваться, каждый раз придётся что-то куда-то копировать: либо AVI к ней, либо её к AVI, и только потом запускать. Перетащить значок папки на значок программы - банально быстрее и удобнее.
baltaf писал(а):
62986509Я же просил, не касаться того, чего у Вас не просят, я разве просил осветлять?
А я и не осветляю. При тех параметрах, с которыми Levels сейчас вписывается, она не меняет ни-че-го. Это просто заготовка для дальнейшей ручной правки.
Не хотите - уберём. Убрать легче, чем вставить.
baltaf писал(а):
62986509Еще раз попробуем, кратко и четко:
1) Чтобы открывался файл с любым названием, через Ависент (через скрипт, параметры осветления которого я укажу).
2) Чтобы видео открывался вместе со своим, не вытащенным звуком.
Вот. Здесь и звук, и обработка текущего каталога при запуске без параметров.
Код:
@echo off
setlocal enableextensions disabledelayedexpansion
if '%1' == '' goto CurrDir
if exist "%~1\" goto ItsADir
echo AVISource("%~nx1", audio=true) > "%~dpn1.avs"
exit
:CurrDir
for %%W in ("*.avi") do echo AVISource("%%~nxW", audio=true) > "%%~dpnW.avs"
exit
:ItsADir
for %%W in ("%~1\*.avi") do echo AVISource("%%~nxW", audio=true) > "%%~dpnW.avs"
exit
baltaf писал(а):
62986509И что это значит, чего в системе не хватает?
Невозможно сказать. Может, всё есть, но настройки DirectShow порушены.
Для разбирательства я предлагал воспользоваться программой GSpot - у неё внизу есть окошко "Proposed codec solutions and tests" с кучей кнопочек 1 и 2. Нажатие этих кнопочек в столбце "MS A/V" позволяет увидеть, через какие кодеки с данным файлом собирается работать сам DirectShow (а следовательно и AVISource() ).
baltaf писал(а):
62986509Что поставить?
Лучше, конечно, ничего не ставить, а исправить то, что есть. Но можете попробовать [пере]установить FFDShow.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error