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

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

vad_74

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

Сообщений: 177

vad_74 · 10-Ноя-12 14:00 (12 лет 1 месяц назад, ред. 10-Ноя-12 17:10)

Задача:
Надо слить 100-200 файлов M2TS в 1 файл MKV, причём автоматом создать чаптеры указывающие на начало исходных M2TS.
Предполагаемый метод решения:
1. Сделать батник вызывающий MediaInfo, который будет делать файл с чаптерами и запускать на той же папке с m2ts-ами перед склеивающим батником.
2. Сделать батник вызывающий mkvmerge, который бы склеивал все файлы в указанной папке в файл MKV. Через командную строку mkvmerge-ом объединить (--append-to или просто плюсиком). И как то добавить файл чаптеров.
Просьба:
Можете помочь с созданием такого батника? Может есть и другие решения этой задачи?
[Профиль]  [ЛС] 

Яedrick

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

Сообщений: 62


Яedrick · 10-Ноя-12 14:19 (спустя 18 мин.)

vad_74, а плейлиста mpls нет?
[Профиль]  [ЛС] 

vad_74

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

Сообщений: 177

vad_74 · 10-Ноя-12 16:16 (спустя 1 час 57 мин.)

Нет плейлиста. Это видео не с Блюрека, а с обычной AVCHD видеокамеры Sony. Оно пишется как набор M2TS файлов, в названии которых время начала сьёмки (год, месяц...). Например 20100727183613.m2ts.
[Профиль]  [ЛС] 

CarbonCAT

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

Сообщений: 1582

CarbonCAT · 10-Ноя-12 16:19 (спустя 3 мин.)

vad_74
Здесь вам не батник нужен. Для чего батник, для создания и редактирования файла чаптеров? <_<
Так-то, склеить N-файлов в .mkv может и графическая оболочка mkvmerge, просто жмете append и выбираете ряд файлов.
Мне кажется вам надо в других темах ветки спрашивать, или новый топик создавать, у меня идей нет.
[Профиль]  [ЛС] 

vad_74

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

Сообщений: 177

vad_74 · 10-Ноя-12 17:09 (спустя 50 мин.)

А как то надо сделать файл с чаптерами. Или можно его сделать без батника, кокой то прогой? Тут же надо открыть все 100 файлов, взять их время игры, вычислить время каждого чаптера как сумму времён предыдущих видео файлов. Как получить время видеофайла, и каков нужный формат файла чаптеров?
Может нужен батник только для файла чаптеров, а клеить в оболочке?
[Профиль]  [ЛС] 

CarbonCAT

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

Сообщений: 1582

CarbonCAT · 11-Ноя-12 05:18 (спустя 12 часов)

vad_74
Мне кажется, я уже ответил на эти вопросы. Я не знаю, как помочь.
[Профиль]  [ЛС] 

Head_CaT

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

Сообщений: 992

Head_CaT · 23-Ноя-12 12:46 (спустя 12 дней, ред. 23-Ноя-12 12:46)

Благадарствую за предоставленные материалы, массово все далать на много удобнее.
Однако закрались такие вопросы:
1. Где найти все теги для mkvmerge? (просто список тегов, а если с описанием, так вообще прекрасно)
2. .mkv поддерживает вложение в контейнер шрифтов, которые используются в сабах (вторая вкладка графического интерфейса)... как это прописать в батнике, дабы ко всем собранным файлам приложился набор шрифтов?
[Профиль]  [ЛС] 

CarbonCAT

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

Сообщений: 1582

CarbonCAT · 23-Ноя-12 14:30 (спустя 1 час 44 мин.)

-Molchoon- писал(а):
56469874Где найти все теги для mkvmerge?
Если вы имеете в виду команды, то здесь.
-Molchoon- писал(а):
56469874как это прописать в батнике, дабы ко всем собранным файлам приложился набор шрифтов?
Пишется --attach-file и имя/путь шрифта просто добавляется(а если он в одной папке с батником, то путь даже и прописывать не надо) и все. Например
Цитата:
FOR %%A IN (*.mp4) DO mkvmerge.exe -o "%%~NA".mkv "%%~NA".ac3 --attach-file "arial.ttf" "%%A"
[Профиль]  [ЛС] 

Head_CaT

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

Сообщений: 992

Head_CaT · 23-Ноя-12 14:45 (спустя 14 мин.)

Благодарю.
[Профиль]  [ЛС] 

Счастливый Человек

Стаж: 13 лет 2 месяца

Сообщений: 181

Счастливый Человек · 02-Янв-13 13:21 (спустя 1 месяц 8 дней, ред. 02-Янв-13 13:21)

HortonEN писал(а):
53849249
tv0r0g писал(а):
~60 файлов с раширением avi. В каждом из них две звуковые дорожки: русская и английская, русская включена по умолчанию.
Хочу, чтобы везде по умолчанию была включена английская.
ЕМНИП, в avi нет понятия "дорожка по умолчанию". В отличие от mkv.
Только порядковый номер.
tv0r0g писал(а):
Как это сделать?
Переставлять местами.
Или просто удалять ненужную.
А как можно пакетно переставить местами?
[Профиль]  [ЛС] 

CarbonCAT

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

Сообщений: 1582

CarbonCAT · 02-Янв-13 13:28 (спустя 6 мин.)

Счастливый Человек
[Угрюмость mode on]Все же есть в инструкции -_- [off]
Если для .avi, то
Код:
FOR %%i IN (*.avi) DO (
ffmpeg -i "%%i" -acodec copy -vcodec copy -map 0:2 -map 0:1 "%%~ni"1.avi)
[Профиль]  [ЛС] 

miha2154

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

Сообщений: 12124

miha2154 · 02-Янв-13 13:47 (спустя 19 мин., ред. 02-Янв-13 13:47)

Так не будет работать. Если используется "-map", то его надо прописывать для КАЖДОГО потока. Ну и перед выходным файлом прописывается дорожка, которая будет первой, а все последующие прописываются после выходного файла с ключами "-newaudio". Надо так:
Код:
FOR %%i IN (*.avi) DO (ffmpeg -i "%%i" -map 0:0  -vcodec copy -map 0:2 -acodec copy "%%~ni"1.avi -map 0:1 -acodec copy -newaudio)
[Профиль]  [ЛС] 

Счастливый Человек

Стаж: 13 лет 2 месяца

Сообщений: 181

Счастливый Человек · 02-Янв-13 14:10 (спустя 22 мин., ред. 02-Янв-13 14:10)

Друзья, у меня bat на сотую долю милисекунды запускается и исчезает тут же, ничего не поменяв соответственно
P. S. я наверное чего-то не доганяю
[Профиль]  [ЛС] 

miha2154

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

Сообщений: 12124

miha2154 · 02-Янв-13 14:19 (спустя 9 мин., ред. 02-Янв-13 14:19)

Батник должен лежать в той же папке, что и файлы видео. Либо полностью прописать пути к входным и выходным файлам.
[Профиль]  [ЛС] 

Счастливый Человек

Стаж: 13 лет 2 месяца

Сообщений: 181

Счастливый Человек · 02-Янв-13 14:36 (спустя 16 мин., ред. 02-Янв-13 14:36)

так и есть
А куда записываются новые файлы, разве не в исходную папку?
P. S. блин, чеж так все сложно то? делов всего то - дорожки местами поменять, а возни столько, да ещё и бесполезной (в моем случае) возни. не разбираюсь я во всех этих кодах, к сожаленью
[Профиль]  [ЛС] 

CarbonCAT

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

Сообщений: 1582

CarbonCAT · 02-Янв-13 15:06 (спустя 30 мин., ред. 02-Янв-13 15:06)

Счастливый Человек
Батник должен лежать в той же папке, новые файлы пишутся туда же - в инструкции все есть. Если в конце батника с новой строчки дописать pause,консоль не закроется сама. Если возникнут проблемы, пости скрин консоли.
[Профиль]  [ЛС] 

miha2154

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

Сообщений: 12124

miha2154 · 02-Янв-13 15:17 (спустя 11 мин.)

Счастливый Человек писал(а):
57133044P. S. блин, чеж так все сложно то? делов всего то - дорожки местами поменять, а возни столько, да ещё и бесполезной (в моем случае) возни. не разбираюсь я во всех этих кодах, к сожаленью
Ну так возьмите VirtualDubMod и не парьтесь - он с этим вполне справится.
[Профиль]  [ЛС] 

HortonEN

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

Сообщений: 6333


HortonEN · 02-Янв-13 18:25 (спустя 3 часа)

Счастливый Человек писал(а):
у меня bat на сотую долю милисекунды запускается и исчезает тут же
bat не надо даблкликать на выполнение. В проводнике.
Надо открыть консоль, сместиться в нужную папку и оттуда запускать. Внимательно разглядывая то, что он пишет.
При непонятках постя скрины, как у Вас и попросили...
miha2154 писал(а):
возьмите VirtualDubMod и не парьтесь
Это ─ 1-2 файла.
А если их десятки. И нужно именно пакетно??
Только как ты написал и через ffmpeg.
[Профиль]  [ЛС] 

miha2154

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

Сообщений: 12124

miha2154 · 02-Янв-13 18:59 (спустя 34 мин., ред. 02-Янв-13 18:59)

Цитата:
А если их десятки. И нужно именно пакетно??
В дубе есть пакетная обработка, и этот случай именно для него - все равно потом через него надо будет прогнать, а то ffmpeg раздувает размер файла на несколько процентов и "превращает" аудио CBR в VBR, а дуб это дело исправляет
Цитата:
bat не надо даблкликать на выполнение
Батник именно кликать и надо на выполнение. А если делать через консоль (что лучше для контроля за процессом и за ошибками), то в нее надо вбить уже такой код:
Код:
FOR %i IN (*.avi) DO (ffmpeg -i "%i" -map 0:0  -vcodec copy -map 0:2 -acodec copy "%~ni"1.avi -map 0:1 -acodec copy -newaudio)
[Профиль]  [ЛС] 

Счастливый Человек

Стаж: 13 лет 2 месяца

Сообщений: 181

Счастливый Человек · 02-Янв-13 22:18 (спустя 3 часа)

Друзья, что за ffmpeg что за virtualdubmod??? первый раз в жизни об этом слышу. мы с вами на разных языках сейчас говорим
[Профиль]  [ЛС] 

CarbonCAT

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

Сообщений: 1582

CarbonCAT · 02-Янв-13 22:21 (спустя 2 мин.)

Счастливый Человек
Проги. Насчет первой все нужное есть в инструкции, а вторая в пакетной обработке неприменима.
[Профиль]  [ЛС] 

Счастливый Человек

Стаж: 13 лет 2 месяца

Сообщений: 181

Счастливый Человек · 02-Янв-13 22:26 (спустя 5 мин.)

так ffmpeg сначала нужно установить наверное на комп
скачал, там куча всяких папок но файла setup почему-то нет
[Профиль]  [ЛС] 

CarbonCAT

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

Сообщений: 1582

CarbonCAT · 02-Янв-13 22:54 (спустя 27 мин.)

Счастливый Человек
Билд. Экзешник ffmpeg в папке .bin
[Профиль]  [ЛС] 

miha2154

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

Сообщений: 12124

miha2154 · 02-Янв-13 22:54 (спустя 12 сек.)

CarbonCAT писал(а):
57140515Счастливый Человек
Проги. Насчет первой все нужное есть в инструкции, а вторая в пакетной обработке неприменима.
Разве? Вполне себе применима, правда не для всех операций, так же как впрочем и ffmpeg.
[Профиль]  [ЛС] 

Счастливый Человек

Стаж: 13 лет 2 месяца

Сообщений: 181

Счастливый Человек · 03-Янв-13 00:26 (спустя 1 час 32 мин., ред. 03-Янв-13 14:39)

CarbonCAT писал(а):
57141086Счастливый Человек
Билд. Экзешник ffmpeg в папке .bin
Спасибо, друзья, за помощь!
Дай Бог вам всем здоровья, счастья и финансового благополучия!
P. S. Если кому-то интересно, решение нашел здесь - http://www.thg.ru/forum/showthread.php?t=76023
[Профиль]  [ЛС] 

Гость


Гость · 04-Янв-13 19:26 (спустя 1 день 19 часов, ред. 04-Янв-13 19:26)

Делал под свои цели. Может кому и сгодится. Родную дорогу пришлось удалять из-за специфики игры(для которой видео).
Код:
@echo off
::Скрипт проверяет наличие аудио дороги, затем удаляет родные в файле и прикручивает внешнюю  аудио дорожку в avi-контейнер.
for %%a in (*.avi) do (
set f=%%a
call :f
)
:F
set n=%f:~0,-4%
echo %n%
if exist "remux\%n%.mp2" (
ffmpeg -i "%f%" -vcodec copy -an "remux\%n%.avi"
ffmpeg -i "remux\%n%.avi" -i "remux\%n%.mp2" -vcodec copy -acodec copy -map 1:0 -map 0 "remux\remux\%n%.avi"
del /q "remux\%n%.avi"
exit /b
) else (
echo Nо Russ Road
exit /b
)
 

CarbonCAT

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

Сообщений: 1582

CarbonCAT · 05-Янв-13 05:07 (спустя 9 часов)

PirogAlfa писал(а):
57170775Скрипт проверяет наличие аудио дороги, затем удаляет родные в файле и прикручивает внешнюю аудио дорожку в avi-контейнер.
Круто, круто. А чем плох вариант
Код:
for %%a in (*.avi) do ( ffmpeg -i "%%a" -i "%%~na.mp2" -c:v copy -c:a copy -map 0:0 -map 1:0 "%%~na"N1.avi )
[Профиль]  [ЛС] 

Гость


Гость · 06-Янв-13 14:30 (спустя 1 день 9 часов)

CarbonCAT писал(а):
57179265
PirogAlfa писал(а):
57170775Скрипт проверяет наличие аудио дороги, затем удаляет родные в файле и прикручивает внешнюю аудио дорожку в avi-контейнер.
Круто, круто. А чем плох вариант
Код:
for %%a in (*.avi) do ( ffmpeg -i "%%a" -i "%%~na.mp2" -c:v copy -c:a copy -map 0:0 -map 1:0 "%%~na"N1.avi )
Неплох конечно. Есть одно но. Во первых так легче измененные файлы увидеть. Да и в целом у меня была ситуация несколько сложнее. Для форума вырезал все лишнее.
 

Счастливый Человек

Стаж: 13 лет 2 месяца

Сообщений: 181

Счастливый Человек · 10-Янв-13 13:44 (спустя 3 дня, ред. 10-Янв-13 13:44)

CarbonCAT писал(а):
57141086Счастливый Человек
Билд. Экзешник ffmpeg в папке .bin
А у меня Экзешник запускается на секунду и исчезает. А вообще у этой проги есть интерфейс, как во всех или она без него?
У меня походу ffmpeg вообще не идёт на компе через батник (а если и идёт, то на выходе кривой файл получается)
[Профиль]  [ЛС] 

CarbonCAT

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

Сообщений: 1582

CarbonCAT · 10-Янв-13 13:49 (спустя 5 мин.)

Счастливый Человек
Это консольное приложение.
Впредь, почитай инструкцию, прежде чем задавать подобные вопросы.
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error