<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7797&amp;type=atom" />
	<updated>2016-02-18T19:59:03Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7797</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=101217#p101217" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>Barus2010</strong>, ознакомьтесь с <a href="http://forum.script-coding.com/viewtopic.php?id=10437">этой</a> темой, отредактируйте свой пост.</span> Заранее спасибо.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-02-18T19:59:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=101217#p101217</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100855#p100855" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p><strong>DnsIs</strong>, код в принципе не верен. Так как перед тем как кидать фильтр -af &quot;volume=&quot; нужно узнать уровень громкости входящего файла -af &quot;volumedetect&quot; и уже потом нормализовывать под нужные Db . Ну и почему-то не указаны параметры кодирования аудио.</p></blockquote></div><p>Вы правильно пишите. Просто мне кажется, что с ffmpeg проще договориться, чем с avudemux. Можно же развить с ним тему.</p>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2016-02-05T10:49:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100855#p100855</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100723#p100723" />
			<content type="html"><![CDATA[<p>teadrinker убрал все лишнее</p><p>Решил проблему, создал файл из проекта программы с расширением mp4.py:<br /></p><div class="codebox"><pre><code>#PY  &lt;- Needed to identify #
#--automatically built--

adm = Avidemux()
adm.videoCodec(&quot;Copy&quot;)
adm.audioClearTracks()
adm.setSourceTrackLanguage(0,&quot;unknown&quot;)
adm.audioAddTrack(0)
adm.audioCodec(0, &quot;Faac&quot;, &quot;bitrate=224&quot;);adm.audioSetMixer(0, &quot;STEREO&quot;);
adm.audioSetDrc(0, 0);
adm.audioSetShift(0, 0,0);adm.audioSetNormalize(0, 2, -100);adm.setContainer(&quot;MP4&quot;, &quot;muxerType=0&quot;, &quot;useAlternateMp3Tag=True&quot;)

</code></pre></div><p>и переделал батник к нему:<br /></p><div class="codebox"><pre><code>set avidemux=&quot;C:\Program Files (x86)\Avidemux 2.6 - 32 bits\avidemux.exe&quot;
for %%f in (*.mp4) do %avidemux%  --load &quot;%%f&quot; --run mp4.py --save &quot;%%f.mp4&quot; --quit
</code></pre></div><p>правда получается дублирование .mp4.mp4 , но это не страшно</p>]]></content>
			<author>
				<name><![CDATA[Barus2010]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33634</uri>
			</author>
			<updated>2016-01-29T14:17:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100723#p100723</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100715#p100715" />
			<content type="html"><![CDATA[<p><strong>DnsIs</strong>, код в принципе не верен. Так как перед тем как кидать фильтр -af &quot;volume=&quot; нужно узнать уровень громкости входящего файла -af &quot;volumedetect&quot; и уже потом нормализовывать под нужные Db . Ну и почему-то не указаны параметры кодирования аудио.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-01-29T11:04:23Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100715#p100715</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100714#p100714" />
			<content type="html"><![CDATA[<p>Попробуйте использовать <a href="https://www.ffmpeg.org/">ffmpeg</a> вот так вот:<br /></p><div class="codebox"><pre><code>for /f &quot;tokens=*&quot; %%a in (&#039;dir *.mp4 /b /s&#039;) do ffmpeg.exe -i &quot;%%a&quot; -c:v copy -af &quot;volume=0.9&quot; &quot;%%~fna_volumedown.mp4&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[DnsIs]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26282</uri>
			</author>
			<updated>2016-01-29T09:00:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100714#p100714</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=100684#p100684" />
			<content type="html"><![CDATA[<p>Использовал Avidemux с кодом взятым в этой теме : <br /></p><div class="codebox"><pre><code>input = &quot;d:\101\&quot;            &#039;папка input
output= &quot;d:\102\&quot;            &#039;папка output
i=0
Dim WSHShell
Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set WSHShell = WScript.CreateObject(&quot;WScript.Shell&quot;)
RecursiveFolderScan input
Msgbox &quot;ВСЕ! Обработано &quot;&amp; i &amp;&quot; файлов&quot;


&#039;Создаём процедуру рекурсивного обхода каталога
Sub RecursiveFolderScan(FolderPath)
    &#039;Получаем объектную модель текущего каталога
    Set Folder = objFSO.GetFolder(FolderPath)
    &#039;Перебираем все файлы в текущем каталоге
    For Each File in Folder.Files
WSHShell.Run &quot;&quot;&quot;C:\Program Files (x86)\Avidemux 2.6 - 32 bits\avidemux.exe&quot;&quot; --load &quot;&quot;&quot; &amp; File &amp; &quot;&quot;&quot; --video-Codec Copy --audio-codec Faac --audio-bitrate 224 --audio-SetMixer STEREO --audio-SetNormalize 1 --Container MP4 --save &quot;&quot;&quot; &amp; output &amp; File.Name &amp; &quot;&quot;&quot; --quit&quot;, 1, True
i=i+1        &#039;счетчик файлов
    Next
    &#039;Перебираем все подкаталоги в каталоге
    For Each SubFolder in Folder.SubFolders
        RecursiveFolderScan(SubFolder.Path)
    Next
Set WSHShell = Nothing
End Sub
</code></pre></div><p>Уровень громкости входящих файлов разные, а на выходе должно быть одинаково</p>]]></content>
			<author>
				<name><![CDATA[Barus2010]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33634</uri>
			</author>
			<updated>2016-01-27T14:13:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=100684#p100684</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65890#p65890" />
			<content type="html"><![CDATA[<p>Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[griha09]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27540</uri>
			</author>
			<updated>2012-11-20T14:36:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65890#p65890</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65886#p65886" />
			<content type="html"><![CDATA[<p>Выделенное красным превращается в результате исполнения в одну кавычку:<br /></p><div class="quotebox"><blockquote><p>WSHShell.Run &quot;<span style="color: red">&quot;&quot;</span>C:\Program Files\Avidemux 2.5\avidemux2_cli.exe<span style="color: red">&quot;&quot;</span> --force-alt-h264 --load <span style="color: red">&quot;&quot;</span>&quot; &amp; File &amp; &quot;<span style="color: red">&quot;&quot;</span> --audio-codec MP3 --audio-bitrate 96 --save <span style="color: red">&quot;&quot;</span>&quot; &amp; output &amp; File.Name &amp; &quot;<span style="color: red">&quot;&quot;</span> --quit&quot;, 1, True</p></blockquote></div><p>Только это не маскировка символов, а удвоение. Маскировки в строках VBScript нет, в отличие от JScript.</p><p>Переменная «strVar»:<br /></p><div class="codebox"><pre><code>strVar = &quot;&quot;&quot;&quot;</code></pre></div><p>будет состоять из одного символа — «&quot;».</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-11-20T14:17:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65886#p65886</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65884#p65884" />
			<content type="html"><![CDATA[<p>В первых тройных кавычках последние (третьи) кравычки - это завершающие кавычки предыдущего строкового выражения, а пара кавычек перед ними (первые и вторые) обозначают &quot;замаскированный&quot; символ кавычек, который войдет последним в качестве простого символа в ту строку. Дальше (вторая тройка) наоборот - первые кавычки открывают строку, а пара кавычек за ней обозначают замаскированный символ. <br />Т.о. в общую сформированную строку значение из переменной &quot;File&quot; попадает как бы в обрамленном кавычками виде - что и надо для длинных имен.</p>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2012-11-20T14:08:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65884#p65884</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65876#p65876" />
			<content type="html"><![CDATA[<p>УРАААААаа! Заработала! А можно спросить почему надо тройные кавычки<br /></p><div class="codebox"><pre><code>&quot;&quot;&quot; &amp; File &amp; &quot;&quot;&quot;</code></pre></div><p>а не одинарные?<br /></p><div class="codebox"><pre><code>&quot;&amp; File &amp;&quot;</code></pre></div>]]></content>
			<author>
				<name><![CDATA[griha09]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27540</uri>
			</author>
			<updated>2012-11-20T12:52:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65876#p65876</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65856#p65856" />
			<content type="html"><![CDATA[<p>Попробуйте так:<br /></p><div class="codebox"><pre><code>WSHShell.Run &quot;&quot;&quot;C:\Program Files\Avidemux 2.5\avidemux2_cli.exe&quot;&quot; --force-alt-h264 --load &quot;&quot;&quot; &amp; File &amp; &quot;&quot;&quot; --audio-codec MP3 --audio-bitrate 96 --save &quot;&quot;&quot; &amp; output &amp; File.Name &amp; &quot;&quot;&quot; --quit&quot;, 1, True</code></pre></div>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-11-20T07:18:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65856#p65856</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65849#p65849" />
			<content type="html"><![CDATA[<p>Сделал по вашему совету<br /></p><div class="codebox"><pre><code>WSHShell.Run(&quot;&quot;&quot;C:\Program Files\Avidemux 2.5\avidemux2_cli.exe&quot;&quot;  --force-alt-h264 --load &quot;+File+&quot; --audio-codec MP3 --audio-bitrate 96  --save &quot;+output+File.Name+&quot; --quit&quot;, 1, True)</code></pre></div><p>вылезла <br />Ошибка: Недопустимо использование скобок при вызове процедуры Sub<br />Код: 800A0414</p><p>И даже когда добавил эти параметры в одиночную, без цикла, обработку тоже матерится. Убрал скобки, все работает<br /></p><div class="codebox"><pre><code>WSHShell.Run &quot;&quot;&quot;C:\Program Files\Avidemux 2.5\avidemux2_cli.exe&quot;&quot;  --force-alt-h264 --load &quot;+File+&quot; --audio-codec MP3 --audio-bitrate 96  --save &quot;+output+File.Name+&quot; --quit&quot;,1,True</code></pre></div><p>но файлы с пробелом в пути по-прежнему не обрабатывает.</p>]]></content>
			<author>
				<name><![CDATA[griha09]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27540</uri>
			</author>
			<updated>2012-11-20T02:11:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65849#p65849</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65843#p65843" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>griha09 пишет:</cite><blockquote><p>Может лучше сделать через Exec, а не через Run? Просто не вижу разницы между ними.</p></blockquote></div><p>«.Exec()» позволяет точно контролировать ход исполнения процесса, даёт доступ к его stdin/stdout/stderr. «.Run()» — нет, только ждать/не ждать завершения запущенного процесса, зато позволяет управлять начальным состоянием окна.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-11-19T19:54:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65843#p65843</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65839#p65839" />
			<content type="html"><![CDATA[<p><em><br />Синтаксис:<br /><strong>WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn]) </strong></em><br />Метод Run создает новый процесс и выполняет strCommand в окне, имеющем стиль intWindowStyle</p><p>Параметры:</p><p><strong>strCommand </strong>- Переменные окружения в границах strCommand расширяются автоматически </p><p><strong>intWindowStyle </strong>- Это значение, в которое устанавливается wShowWindow - элемент структуры STARTUPINFO для нового процесса. Может принимать следующие значения: <br />Название&nbsp; Величина Значение <br />SW_HIDE&nbsp; 0&nbsp; Прячет окно и активирует другое окно<br />SW_MINIMIZE&nbsp; &nbsp;6 Минимизирует указанное окно и активирует следующее окно верхнего уровня в Z порядке<br />SW_RESTORE&nbsp; &nbsp;9&nbsp; Активирует и показывает окно. Если окно минимизировано или максимизировано, Windows восстанавливает его первоначальный размер и положение. Приложение должно задать этот флаг, если восстанавливается минимизированное окно.<br />SW_SHOW&nbsp; 5&nbsp; Активизирует и показывает окно с его текущими положением и размерами<br />SW_SHOWMAXIMIZED&nbsp; 3&nbsp; Активизирует окно и показывает его максимизированным<br />SW_SHOWMINIMIZED&nbsp; 2&nbsp; Активизирует окно и показывает его минимизированным<br />SW_SHOWMINNOACTIVE&nbsp; 7&nbsp; Показывает окно минимизированным. Активное окно остается активным<br />SW_SHOWNA&nbsp; 8&nbsp; показывает окно в его текущем состоянии. Активное окно остается активным<br />SW_SHOWNOACTIVATE&nbsp; 4&nbsp; Показывает окно с его последними размерами и положением. Активное окно остается активным<br />SW_SHOWNORMAL&nbsp; 1&nbsp; Активизирует и показывает окно. Если оно было минимизировано или максимизировано, Windows восстанавливает его первоначальные размер и положение</p><p><strong>blnWaitOnReturn&nbsp; </strong>- Если blnWaitOnReturn не задан или равен FALSE, метод немедленно возвращается для продолжения выполнения скрипта, не ожидая завершения выполнения процесса.</p><p>Если blnWaitOnReturn установлен в TRUE, метод Run возвращает любой код ошибки, переданный приложением. <br />Если blnWaitOnReturn не задан или равен FALSE, метод Run возвращает код ошибки 0</p><p>----<br />Т.е. попробуйте дополнить строку </p><div class="codebox"><pre><code>WSHShell.Run(&quot;&quot;&quot;C:\Program Files\Avidemux 2.5\avidemux2_cli.exe&quot;&quot;  --force-alt-h264 --load &quot;+File+&quot; --audio-codec MP3 --audio-bitrate 96  --save &quot;+output+File.Name+&quot; --quit&quot;)</code></pre></div><p>еще парой параметров: </p><div class="codebox"><pre><code>WSHShell.Run(&quot;&quot;&quot;C:\Program Files\Avidemux 2.5\avidemux2_cli.exe&quot;&quot;  --force-alt-h264 --load &quot;+File+&quot; --audio-codec MP3 --audio-bitrate 96  --save &quot;+output+File.Name+&quot; --quit&quot;, 1, True)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Rom5]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5724</uri>
			</author>
			<updated>2012-11-19T19:10:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65839#p65839</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS: скрипт пакетной обработки видеофайлов в Avidemux]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=65837#p65837" />
			<content type="html"><![CDATA[<p>Нашел батничек пакетной обработки видео из командной строки в Avidemux:</p><div class="codebox"><pre><code>FOR /L %%a IN (1,1,7) DO &quot;C:\Program Files\Avidemux 2.5\avidemux2_cli.exe&quot;  --force-alt-h264 --load &quot;d:\kino\Arere - 0%%a.avi&quot; --audio-codec MP3 --audio-bitrate 96  --save &quot;g:\Arere - 0%%a.avi&quot; --quit</code></pre></div><p>ну и решил сделать vbs-скрипт пакетной обработки видеофайлов в папке.<br />Первая проба простой обработки работает нормально:<br /></p><div class="codebox"><pre><code>Dim WSHShell
Set WSHShell = WScript.CreateObject(&quot;WScript.Shell&quot;)
WSHShell.Run(&quot;&quot;&quot;C:\Program Files\Avidemux 2.5\avidemux2_cli.exe&quot;&quot;  --force-alt-h264 --load &quot;&quot;d:\kino\Arere - 22.avi&quot;&quot; --audio-codec MP3 --audio-bitrate 96  --save &quot;&quot;g:\Arere - 22.avi&quot;&quot; --quit&quot;)</code></pre></div><p>А вот в пакетном режиме, запускается сразу столько окон сколько файлов в папке. Т.е надо дождаться окончания одного цикла, а потом уж запускать следущий. Как? И файлы с пробелами в названии не обрабатывает <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /><br /></p><div class="codebox"><pre><code>input = &quot;g:\222\&quot;            &#039;папка input
output= &quot;g:\&quot;            &#039;папка output
i=0

Dim WSHShell

Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
Set WSHShell = WScript.CreateObject(&quot;WScript.Shell&quot;)

RecursiveFolderScan input

Msgbox &quot;ВСЕ! Обработано &quot;&amp; i &amp;&quot; файлов&quot;



&#039;Создаём процедуру рекурсивного обхода каталога
Sub RecursiveFolderScan(FolderPath)
    &#039;Получаем объектную модель текущего каталога
    Set Folder = objFSO.GetFolder(FolderPath)
 
    &#039;Перебираем все файлы в текущем каталоге
    For Each File in Folder.Files

WSHShell.Run(&quot;&quot;&quot;C:\Program Files\Avidemux 2.5\avidemux2_cli.exe&quot;&quot;  --force-alt-h264 --load &quot;+File+&quot; --audio-codec MP3 --audio-bitrate 96  --save &quot;+output+File.Name+&quot; --quit&quot;)

i=i+1        &#039;счетчик файлов
    Next
 
    &#039;Перебираем все подкаталоги в каталоге
    For Each SubFolder in Folder.SubFolders
        RecursiveFolderScan(SubFolder.Path)
    Next

Set WSHShell = Nothing

End Sub</code></pre></div><p>Спецы, посмотрите, пожалуйста, какие есть ошибки со стороны моего vbs-кода? Или это уже глюки Avidemux?<br />Может лучше сделать через Exec, а не через Run? Просто не вижу разницы между ними.</p>]]></content>
			<author>
				<name><![CDATA[griha09]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27540</uri>
			</author>
			<updated>2012-11-19T18:52:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=65837#p65837</id>
		</entry>
</feed>
