<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Автоматическое создание Proxy-файлов видео для Vegas]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=18536</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=18536&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Автоматическое создание Proxy-файлов видео для Vegas».]]></description>
		<lastBuildDate>Fri, 19 Dec 2025 21:58:39 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[CMD/BAT: Автоматическое создание Proxy-файлов видео для Vegas]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=162982#p162982</link>
			<description><![CDATA[<p><strong>Автоматическое создание Proxy-файлов видео с камеры DJI Osmo Action 5 Pro для Vegas</strong></p><p>Камера <strong>DJI Osmo Action 5 Pro</strong> кроме оригинального видео также создает файл с расширением <strong>.LRF</strong>, содержащий видео с меньшем разрешением (1280*720 30fps).</p><p>При работе с роликами в высоком разрешении в видеоредакторе Vegas может потребоваться создание прокси-файлов, то есть копий оригинального ролика с меньшем разрешением, чтобы не тормозил предпросмотр во время монтажа в самой программе. Vegas умеет создавать прокси, но это долго и муторно. Куда лучше использовать в качестве прокси уже имеющиеся файлы .LRF.</p><p><strong>Пошаговая инструкция, как преобразовать .LRF в Proxy для Vegas:</strong><br /></p><ol class="decimal"><li><p>Скачать утилиту <strong>ffmpeg</strong> для конвертации форматов - <a href="https://ffmpeg.org/download.html">https://ffmpeg.org/download.html</a></p></li><li><p>Прописать путь к файлу <strong>ffmpeg.exe</strong> в переменные среды <strong>PATH</strong>: <em>Откройте Параметры Windows (Win + I); Система → О программе → Дополнительные параметры системы; во вкладке &quot;Дополнительно&quot; нажмите &quot;Переменные среды...&quot;; в переменную Path добавить путь к папке с ffmpeg.</em></p></li><li><p>При копировании видео с камеры, скопировать в том числе и файлы с расширением <strong>.LRF</strong></p></li><li><p>В папку, куда скопированы видео-файлы с камеры, скопировать файл <strong>Proxy.cmd</strong> (см. вложение, не забудьте достать его из zip-архива).</p></li><li><p>Запустить <strong>Proxy.cmd</strong>, дождаться завершения процесса (должны исчезнуть все черные окна). По итогу у вас появятся файлы с расширением <strong>.MP4.sfvp0</strong>, это и есть прокси для Vegas.</p></li><li><p>Дальше просто работаете в Vegas, она автоматически подтянет данные прокси. Чтобы в окне предпросмотра использовались прокси-файлы (а не оригинальные), выставите режим предпросмотра <strong>Preview (Full)</strong> или <strong>Half</strong>, если у вас все равно тормозит воспроизведение.</p></li></ol><p>Шаги 1 и 2 проделываются один раз, в последующем они не требуются.</p><p><strong>Важные замечания:</strong><br /></p><ol class="decimal"><li><p>Во время создания прокси-файлов появится куча черных окошек (на каждый файл по одному окошку) и комп прилично нагрузится (как ЦП, так и видеокарта). Скорость процесса зависит от мощности вашего железа и количества файлов. Например, у меня порядка 100 файлов обрабатывались около 1 минуты 20 секунд.</p></li><li><p>Видеокарта <strong>NVidia</strong>! Для других карт надо поменять параметр <strong>GPU_ACCEL</strong> на <strong>amf</strong> для AMD и <strong>qsv</strong> для Intel. Но в этих режимах не тестировалось. Можно этому параметру присвоить пустое значение (тогда весь процесс пойдет через ЦП).</p></li><li><p>Этот скрипт также делает прокси и для видео с дрона <strong>Fimi X8 Mini</strong> (<em>приятный бонус</em>).</p></li><li><p>Тестировалось в <strong>VEGAS Pro 21.0</strong>.</p></li><li><p>В некоторых случаях возможна небольшая рассинхронизация прокси с оригиналом, особенно это касается таких FPS, как 48, 50, 100.</p></li><li><p>Прокси с гиперлапс-видео Vegas не принимает.</p></li><li><p>С таймлапс-видео прокси вообще отсутствует (можно сделать средствами самого Vegas).</p></li></ol><div class="codebox"><pre><code>:: ==============================================
:: Батник создания Proxy-файлов для VEGAS Pro 21.0 (и других версий)
:: Проверено по данным с камеры DJI Osmo Action 5 Pro и дрона Fimi X8 Mini
:: Для работы нужно установить ютилиту FFmpeg - https://ffmpeg.org/download.html
:: (c) Arigato Software, 2025
:: ==============================================

@echo off
setlocal enabledelayedexpansion

:: ==============================================
:: Конфигурация
:: ==============================================
:: Расширение прокси-файлов
set PROXY_EXT=MP4.sfvp0
:: Битрейт прокси
set BITRATE=12M
:: Ширина прокси
set WIDTH=1280
:: Высота прокси
set HEIGHT=720
:: GPU-ускорение (NVIDIA=cuda, AMD=amf, INTEL=qsv, CPU=пусто)
set GPU_ACCEL=cuda
:: Включение аудио в прокси (1=вкл, 0=выкл, для Vegas выкл!)
set INCLUDE_AUDIO=0

:: ==============================================
:: Обработка файлов *.LRV и *.LRF
:: ==============================================
echo [INFO] Create proxy files

:: Применяем параметры
if not &quot;!GPU_ACCEL!&quot;==&quot;&quot; set &quot;GPU_ACCEL=-hwaccel !GPU_ACCEL!&quot;
if !INCLUDE_AUDIO! equ 1 (
	set &quot;INCLUDE_AUDIO=-c:a aac -b:a 128k&quot;
) else (
	set &quot;INCLUDE_AUDIO=-an&quot;
)

:: Перебор всех .LRV и .LRF-файлов
for %%i in (*.LRV *.LRF) do (
	set &quot;source_filename=%%~ni.MP4&quot;
	set &quot;proxy_filename=%%~ni.%PROXY_EXT%&quot;
	echo !source_filename!
	
	:: Определяем FPS оригинала
	call :get_fps &quot;!source_filename!&quot; source_fps
	echo FPS: !source_fps!
	
	:: Получаем количество кадров
	call :frames &quot;!source_filename!&quot; frames
	echo Frames: !frames!
	
	:: Определяем поворот
	call :rotation &quot;%%i&quot; rotation_degrees
	if !rotation_degrees! neq 0 (
		echo Rotation: !rotation_degrees!
	)
	
	:: Выбираем фильтр поворота
	set &quot;vf_rotate=&quot;
	if !rotation_degrees! equ 90 set &quot;vf_rotate=transpose=1,&quot;
	if !rotation_degrees! equ 180 set &quot;vf_rotate=transpose=1,transpose=1,&quot;
	if !rotation_degrees! equ 270 set &quot;vf_rotate=transpose=2,&quot;
	
	:: Запускаем кодирование
	start &quot;!source_filename!&quot; ffmpeg !GPU_ACCEL! -i &quot;%%i&quot; -y -c:v mpeg2video ^
		-b:v %BITRATE% ^
		!INCLUDE_AUDIO! ^
		-vf &quot;!vf_rotate!scale=%WIDTH%:%HEIGHT%:force_original_aspect_ratio=decrease,setsar=1,fps=!source_fps!&quot; ^
		-f mp4 -r !source_fps! ^
		-movflags faststart -timecode &quot;00:00:00:00&quot; ^
		-fps_mode cfr -frames:v !frames! ^
		&quot;!proxy_filename!&quot;
)

:: ==============================================
:: Завершение работы
:: ==============================================
echo [SUCCESS] OK
rem pause
exit /b 0

:: ==============================================
:: Функция определения количества кадров
:: %1 - файл, %2 - выходная переменная
:: ==============================================
:frames
setlocal
set &quot;frames=0&quot;
for /f %%f in (
	&#039;ffprobe -v error -select_streams v:0 -show_entries stream^=nb_frames -of default^=nokey^=1:noprint_wrappers^=1 &quot;%~1&quot; 2^&gt;^&amp;1&#039;
) do set &quot;frames=%%f&quot;
endlocal &amp; set &quot;%~2=%frames%&quot;
exit /b 0

:: ==============================================
:: Функция определения поворота видео
:: %1 - файл, %2 - выходная переменная
:: ==============================================
:rotation
setlocal
set &quot;rot=0&quot;
for /f &quot;tokens=2 delims==&quot; %%r in (
	&#039;ffprobe -v error -select_streams v:0 -show_entries stream_side_data^=rotation -of default^=nw^=1 &quot;%~1&quot;&#039;
) do set &quot;rot=%%r&quot;

:: Нормализация отрицательных значений
if &quot;!rot!&quot;==&quot;-90&quot; set &quot;rot=270&quot;
if &quot;!rot!&quot;==&quot;-180&quot; set &quot;rot=180&quot;
if &quot;!rot!&quot;==&quot;-270&quot; set &quot;rot=90&quot;
endlocal &amp; set &quot;%~2=%rot%&quot;
exit /b 0

:: ==============================================
:: Функция определения частоты кадров видео
:: %1 - файл, %2 - выходная переменная
:: Возвращает fps в формате &quot;60000/1001&quot; (59.94) или &quot;30/1&quot; (30.0)
:: ==============================================
:get_fps
setlocal
set &quot;fps_value=0/0&quot;
for /f &quot;tokens=2 delims==&quot; %%f in (
    &#039;ffprobe -v error -select_streams v:0 -show_entries stream^=r_frame_rate -of default^=nw^=1 &quot;%~1&quot;&#039;
) do (
    set &quot;fps_value=%%f&quot;
    :: Удаляем возможные кавычки
    set &quot;fps_value=!fps_value:&quot;=!&quot;
)
endlocal &amp; set &quot;%~2=%fps_value%&quot;
exit /b 0</code></pre></div><p>P.S. Можно модифицировать скрипт для других видеоредакторов.</p>]]></description>
			<author><![CDATA[null@example.com (Arigato)]]></author>
			<pubDate>Fri, 19 Dec 2025 21:58:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=162982#p162982</guid>
		</item>
	</channel>
</rss>
