Просмотр полной версии : Скрипты (Scripts)
romamos
03.09.2008, 01:52
Скрипты и утилиты для Sony Vegas
Помимо множества полезных функций Sony Vegas обладает и чрезвычайно приятной особенностью – он умеет работать со скриптами (scripts).
Для справки: Работа со скриптами доступна лишь в полной версии Vegas. В варианте Vegas Movie Studio такая возможность отсутствует.
Скрипт – это макрокоманда, которая "в один клик" запускает целую цепочку операций в Вегас и позволяет таким образом автоматизировать выполнение множества задач при работе с видео и звуком и сэкономить массу времени.
Для Vegas уже написано множество различных скриптов и они активно используются, однако для большинства русскоязычных пользователей их применение ограничивается тем, что инструкции по работе и настройке скрипта под конкретную систему записываются в исходном коде на английском языке. Пришла пора исправить этот пробел.
Править скрипты можно с помощью встроенного в Windows Notepad, но удобнее это делать с помощью бесплатного редактора Notepad++, в котором есть подсветка синтаксиса скрипта и ряд других полезных возможностей (в т.ч. русский интерфейс)
скачать можно с оф.сайта: http://notepad-plus.sourceforge.net/ru/about.php?lang=ru
Предлагаю выкладывать здесь реально работающие скрипты для Вегаса, и дабы уменьшить по возможности число лишних вопросов выкладывать их с ОБЯЗАТЕЛЬНЫМ описанием того, как скрипт работает и какие изменения необходимо внести в исходный код для подстройки под конкретную систему. Поскольку ссылки на файлообменники имеют тенденцию устаревать, просьба в постах выкладывать также и исходный код скрипта, чтобы пользователь, в случае необходимости, мог самостоятельно создать для себя файл скрипта или адаптировать существующий.
Ну и, естественно, хотя большинство скриптов и выкладываются в сети для общего пользования - не стоит забывать о том, что каждый скрипт имеет своего автора. Давайте уважать друг друга и если Вы модифицировали скрипт – укажите это ОТДЕЛЬНОЙ СТРОКОЙ, а не затирайте имя автора исходного кода.
Как пользоваться скриптами?
Для запуска скриптов Вегас (до 6-й версии) использует платфору MS.NET Framework 1.1, Vegas 7 – MS.NET Framework 2, Vegas Pro 8 - использует MS.NET Framework 3, что дает возможность писать скрипты на языках поддерживаемых данной платформой (JScipt, C#, VB & etc.)
Если у вас есть готовый файл скрипта, то для запуска его в Вегас требуется скопировать файл в папку "C:\Program Files\Sony\Vegas *.0\Script Menu\".
VP8 для работы со скриптами создает целых три папки: одну как и прежде в программной папке и еще две под названиями "Vegas Script Menu" и "Vegas Application Extensions" в папке *\\My documents.
Если Вегас уже запущен, то в меню - Tools -> Scripting нужно кликнуть по пункту - Rescan Script Menu Folder.
После перепросмотра (обновления списка) в списке скриптов появится Ваш скрипт. Как назывался файл (имя файла) – так же и будет называться пункт меню.
В VegasPro 8 реализован новый тип скриптов "Extensions", которые работают по типу подключаемых модулей (plug-ins). Дабы не смешивать их с "традиционными" скриптами правильнее будет называть "скриптовыми плагинами". Эти скрипты "живут" в подпунктах "Extensions" меню "View", "Edit" и "Tools"
Платформа .NET. Хороший выбор разработчиков, но когда на форуме публикуется скрипт в тексте (сам так делаю), человеку не знающему программирование сложно понять какой это язык. Т.е. в файл с каким расширением сохранять скопированный код. Данный вопрос можно разрешить методом тыка - копируем текст и создаем в вышеуказанной папке файл с расширением (.js, .cs или .vb). Если расширение не соответствует языку скрипта, то - при попытке запустить скрипт, Вегас выдаст ошибку. Следовательно, переименовываем файл (пишем другое расширение) и пробуем запустить еще раз.
Подсказка:
Если в первых строках кода скрипта видим "import"
import System;
import System.Text;
import System.IO;
import System.Drawing;
import System.Windows.Forms;
import Sony.Vegas;
следовательно - это JScript (filename.js)
Если видим "using":
using System;
using System.IO;
using System.Text;
using System.Drawing;
using System.Collections;
using System.Diagnostics;
using System.Windows.Forms;
using Sony.Vegas;
значит это C# (filename.cs)
Добавка в отношении скриптов.
Если Вам часто приходится использовать какой-то скрипт - его можно назначить на кнопки. Для этого идем в Preferences -> Keyboard -> Context => Global -> Available Commands, и мотаем примерно до середины. Все скрипты представлены в списке с префиксом "Script.Имя скрипта". Назначаем удобную комбинацию на требуемый скрипт и наслаждаемся ....
Второй способ - вынос скрипта на инструментальную панель (Тулбар).
Идем Options->Costumize Toolbar...
Крутим список примерно до середины - после
Run Script
Compile Script
видим список наших скриптов. Добавляем на инструментальную панель, пользуемся.
--------------------
Для каждого скрипта можно создать свою иконку, для этого достаточно в папке (С:\Program Files\Sony\Vegas 6.0\Script Menu) создать PNG файл размером 16*16 px и назвать его по имени скрипта.
Например:
export xml.js
export xml.js.png
Иконки скриптов в Vegas Pro 8 должны быть 32 bit цвет и размер строго 16х16 пикс. Предыдущие версии Вегаса в т.ч. понимали иконки размером 16х32 пикс, VP8 их "не видит".
Подсказка: если при наведении мыша на иконку в Вегас 7 и ниже она меняла цвет, или картинку, то это, наверняка - 16х32. У таких иконок надо просто отрезать половину и пересохранить ее как *.png 16x16 32 bit.
В данном случае, на тулбар будет красоваться индивидуальная иконка, что облегчит последующую идентификацию.
Чтобы появилась иконка, требуется зайти в Tools->Scripting->Rescan Script Menu Folder.
Для того, чтобы создать файл скрипта из исходного кода необходимо в любом текстовом редакторе (например в Windows Notepad) создать новый файл, скопировать в него исходный код и сохранить в папку со скриптами Вегаса. Обратите внимание, что при этом название создаваемого файла прописывается полностью с расширением, а тип отображаемых файлов переводится в режим All files (Все файлы).
Подробную инструкцию по работе со скриптами в Вегасе также можно прочитать здесь (http://provegas.ru/help/Scripting_in_Vegas.htm) на странице переведенной Справки.
Для начинающих скриптописателей и скриптомарателей (модификаторов) весьма полезным будет вот этот Vegas Scripting FAQs (http://www.ayizwe.net/VegasScripts/FAQ.html#2.1). (англ.)
ПРИМЕР ОФОРМЛЕНИЯ ПОСТА
RenderQueue
- скрипт для пакетного просчета нескольких проектов Вегас в один заход с вариантом выключения компьютера по окончании просчета.
Порядок работы:
После запуска скрипта из Вегаса в открывшемся окне выбираете проект, который необходимо просчитать. После нажатия ОК окно закрывается и открывается вновь. Выбираете следующий проект и так до тех пор, пока не выберете все нужные вам проекты. Когда выбирать больше нечего, закрываете вновь открывшееся окно кнопкой Cancel (Отмена), запускается просчет.
================================================== =========================
/**
* This script can be used to queue up multiple Vegas project files
* to be rendered.
*
* Revision Date: May. 07, 2003
**/
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;
// Modify the following two lines to suit you needs for the output
// format.
var rendererRE = /Video for Windows/;
var templateRE = /PAL DV/;
// Set this to a valid out directory or set it to null if you want the
// output files to be created in the same directory as their project
// file.
var defaultOutputDir = "O:\Rendered";
// Set the following variable to true if you want to allow the script
// to overrwite existing rendered output files.
var allowFileOverwrites = false;
try {
if ((null != defaultOutputDir) && !Directory.Exists(defaultOutputDir))
throw "output directory does not exist: " + defaultOutputDir;
// find the renderer and template
var renderer : Renderer = FindRenderer(rendererRE);
if (null == renderer)
throw "failed to find renderer";
var renderTemplate :RenderTemplate = FindRenderTemplate(renderer, templateRE);
if (null == renderTemplate)
throw "failed to find render template";
// get file name extension that will be appended to each output file
var rendererExt = renderer.FileExtension.substring(1);
// prompt user for the list of project files to be rendererd.
var renderQueue = new Array();
var queueIndex = 0
while (true) {
var nextVeg = ShowOpenFileDialog("Vegas Projects (*.veg)|*.veg", "Queue Project File (cancel to begin)", null);
if (null == nextVeg) {
break;
}
renderQueue[queueIndex] = nextVeg;
queueIndex++;
}
// for each project file in the queue...
var renderIndex = 0
while (renderIndex < queueIndex) {
// open the next project
var vegFilename = renderQueue[renderIndex];
if (!Vegas.OpenProject(vegFilename)) {
throw "failed to open project file: " + vegFilename;
}
// compute the output directory
var outputDir;
if (null == defaultOutputDir) {
outputDir = Path.GetDirectoryName(vegFilename);
} else {
outputDir = defaultOutputDir;
}
// create the output file name
var outputName = Path.GetFileNameWithoutExtension(vegFilename);
var outputFilename = outputDir + Path.DirectorySeparatorChar + outputName + rendererExt;
if ((!allowFileOverwrites) && File.Exists(outputFilename))
throw "file already exists: " + outputFilename;
// perform the render
var renderStatus = Vegas.Render(outputFilename, renderTemplate);
if (RenderStatus.Complete != renderStatus)
throw "failed to complete render: " + outputFilename;
renderIndex++;
}
} catch (e) {
MessageBox.Show(e);
}
// an example filter: "PNG File (*.png)|*.png|JPEG File (*.jpg)|*.jpg"
function ShowOpenFileDialog(filter, title, defaultFilename) {
var openFileDialog = new OpenFileDialog();
if (null == filter) {
filter = "All Files (*.*)|*.*";
}
openFileDialog.Filter = filter;
if (null != title) openFileDialog.Title = title;
openFileDialog.CheckPathExists = true;
openFileDialog.AddExtension = true;
if (null != defaultFilename) {
var initialDir = Path.GetDirectoryName(defaultFilename);
if (Directory.Exists(initialDir)) {
openFileDialog.InitialDirectory = initialDir;
}
openFileDialog.DefaultExt = Path.GetExtension(defaultFilename);
openFileDialog.FileName = Path.GetFileName(defaultFilename);
}
if (System.Windows.Forms.DialogResult.OK == openFileDialog.ShowDialog()) {
return Path.GetFullPath(openFileDialog.FileName);
} else {
return null;
}
}
function FindRenderer(rendererRegExp : RegExp) : Renderer {
var rendererEnum : Enumerator = new Enumerator(Vegas.Renderers);
while (!rendererEnum.atEnd()) {
var renderer : Renderer = Renderer(rendererEnum.item());
if (null != renderer.FileTypeName.match(rendererRegExp)) {
return renderer;
}
rendererEnum.moveNext();
}
return null;
}
function FindRenderTemplate(renderer : Renderer, templateRegExp : RegExp) : RenderTemplate {
var templateEnum : Enumerator = new Enumerator(renderer.Templates);
while (!templateEnum.atEnd()) {
var renderTemplate : RenderTemplate = RenderTemplate(templateEnum.item());
if (renderTemplate.Name.match(templateRegExp)) {
return renderTemplate;
}
templateEnum.moveNext();
}
return null;
}
================================================== ========================
Особенности использования скрипта:
Данный скрипт настроен на просчет в формате AVI (Video for Windows) шаблон PAL DV. Для того, чтобы выбрать другой вариант просчета, необходимо в строках:
#14| var rendererRE = /Video for Windows/;
#15| var templateRE = /PAL DV/;
изменить выделенный текст на те настройки, которые вам нужны
в строке:
# 20| var defaultOutputDir = "O:\Rendered";
задается папка, в которую будут просчитываться Ваши проекты.
Дополнение:
RenderQueueShutDown
– вариант скрипта с выключением компьютера по окончании просчета.
Внимание! Прежде чем запускать данный скрипт сохраните изменения в текущем проекте, и других открытых приложениях, т.к. после его запуска отменить исполнение скрипта будет невозможно, в случае отказа от рендеринга проекта компьютер будет выключен с принудительным закрытием всех приложений в течение 10 сек. и несохраненные данные могут быть потеряны!
================================================== =========================
/**
* This script can be used to queue up multiple Vegas project files
* to be rendered.
*
* Revision Date: July. 07, 2007
**/ Modified by romamos
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;
// Modify the following two lines to suit your needs for the output
// format.
var rendererRE = /Video for Windows/;
var templateRE = /PAL DV/;
// Set this to a valid out directory or set it to null if you want the
// output files to be created in the same directory as their project
// file.
var defaultOutputDir = "O:\Rendered";
// Set the following variable to true if you want to allow the script
// to overrwite existing rendered output files.
var allowFileOverwrites = true;
try {
if ((null != defaultOutputDir) && !Directory.Exists(defaultOutputDir))
throw "output directory does not exist: " + defaultOutputDir;
// find the renderer and template
var renderer : Renderer = FindRenderer(rendererRE);
if (null == renderer)
throw "failed to find renderer";
var renderTemplate :RenderTemplate = FindRenderTemplate(renderer, templateRE);
if (null == renderTemplate)
throw "failed to find render template";
// get file name extension that will be appended to each output file
var rendererExt = renderer.FileExtension.substring(1);
// prompt user for the list of project files to be rendererd.
var renderQueue = new Array();
var queueIndex = 0
while (true) {
var nextVeg = ShowOpenFileDialog("Vegas Projects (*.veg)|*.veg", "Queue Project File (cancel to begin)", null);
if (null == nextVeg) {
break;
}
renderQueue[queueIndex] = nextVeg;
queueIndex++;
}
// for each project file in the queue...
var renderIndex = 0
while (renderIndex < queueIndex) {
// open the next project
var vegFilename = renderQueue[renderIndex];
if (!Vegas.OpenProject(vegFilename)) {
throw "failed to open project file: " + vegFilename;
}
// compute the output directory
var outputDir;
if (null == defaultOutputDir) {
outputDir = Path.GetDirectoryName(vegFilename);
} else {
outputDir = defaultOutputDir;
}
// create the output file name
var outputName = Path.GetFileNameWithoutExtension(vegFilename);
var outputFilename = outputDir + Path.DirectorySeparatorChar + outputName + rendererExt;
if ((!allowFileOverwrites) && File.Exists(outputFilename))
throw "file already exists: " + outputFilename;
// perform the render
var renderStatus = Vegas.Render(outputFilename, renderTemplate);
if (RenderStatus.Complete != renderStatus)
throw "failed to complete render: " + outputFilename;
renderIndex++;
}
} catch (e) {
MessageBox.Show(e);
}
// an example filter: "PNG File (*.png)|*.png|JPEG File (*.jpg)|*.jpg"
function ShowOpenFileDialog(filter, title, defaultFilename) {
var openFileDialog = new OpenFileDialog();
if (null == filter) {
filter = "All Files (*.*)|*.*";
}
openFileDialog.Filter = filter;
if (null != title) openFileDialog.Title = title;
openFileDialog.CheckPathExists = true;
openFileDialog.AddExtension = true;
if (null != defaultFilename) {
var initialDir = Path.GetDirectoryName(defaultFilename);
if (Directory.Exists(initialDir)) {
openFileDialog.InitialDirectory = initialDir;
}
openFileDialog.DefaultExt = Path.GetExtension(defaultFilename);
openFileDialog.FileName = Path.GetFileName(defaultFilename);
}
if (System.Windows.Forms.DialogResult.OK == openFileDialog.ShowDialog()) {
return Path.GetFullPath(openFileDialog.FileName);
} else {
return null;
}
}
function FindRenderer(rendererRegExp : RegExp) : Renderer {
var rendererEnum : Enumerator = new Enumerator(Vegas.Renderers);
while (!rendererEnum.atEnd()) {
var renderer : Renderer = Renderer(rendererEnum.item());
if (null != renderer.FileTypeName.match(rendererRegExp)) {
return renderer;
}
rendererEnum.moveNext();
}
return null;
}
function FindRenderTemplate(renderer : Renderer, templateRegExp : RegExp) : RenderTemplate {
var templateEnum : Enumerator = new Enumerator(renderer.Templates);
while (!templateEnum.atEnd()) {
var renderTemplate : RenderTemplate = RenderTemplate(templateEnum.item());
if (renderTemplate.Name.match(templateRegExp)) {
return renderTemplate;
}
templateEnum.moveNext();
}
return null;
}
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run("shutdown -s -f -t 10",0);
================================================== =========================
Оба скрипта с иконками можно взять здесь (наведите курсор на название скрипта, щелкните правой кнопкой мышки, в контексном меню выберите пункт "Сохранить обьект как ..." ):
И в дополнение несколько полезных ссылок на авторские страницы и архивы со скриптами:
Пакет скриптов со своим оригинальным GUI (исходные коды зашиты в dll-ки) от Gilles (ник на офсайте – Rosebud) с возможностью настройки параметров после запуска:
Video Strobe (эффект стробоскопа, настройка частоты строба от 1 до 10 кадров)
Split Audio Channels (разделение аудио-дорожки на правую и левую. Полезно например, в случае, когда из записи надо убрать звук "пушки")
Video Slide (перемещение картинок по площади кадра с возможностью настройки направления и скорости движения, а также размера оных)
Video Zoom (эффект "наезда" на объект с возможностью выбора траектории и пауз "в пути")
Все скрипты можно взять здесь (http://sony.vegas.1.free.fr/Scripts/Gilles's%20Scripts/Gilles's%20Scripts.zip) (28кБ).
romamos
03.09.2008, 01:56
Ещё пара скриптов из серии "Must Have", которые помогут исправить случайно закравшиеся при монтаже ошибки.
AuditForEventLevels
- проверяет уровни непрозрачности (Opacity) и усиления (Gain) фрагментов (event-ов) на таймлайн.
Порядок работы
После запуска в открытом проекте скрипт находит на *первой дорожке видеофрагменты, в которых уровень Opacity (Непрозрачность) менее 100% и аудиофрагменты, в которых уровень усиления Gain отличается от 0 db, предлагая это исправить. Если изменения внесены сознательно, можно отказаться от правки, и перейти к следующему фйрагменту. После "просмотра" всего проекта скрипт выдает окошко с напоминанием, что "не худо было бы ещё проверить и настройки дорожек в поле Track List", но это - уже "ручками".
*предполагается, что это - мастер-трек, и что он должен быть выделен в поле списка дорожек - TrackList
/**
* This script finds all events where the opacity level has been
* set to a level only slightly less than 100%, or the audio level
* set to slightly less than 0dB. This usually is not intentional
* and results from accidentally moving the opacity or volume
* line while moving an event. Without this script, such
* an accident is very difficult to detect, and can result in
* long rendering times.
*
* Written By: John H. Meyer
* Date: November 11, 2003
*
**/
import System;
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;
// Change this line if you want a different threshold
var Opacity = 0.90;
var EventLevel = 0.50;
var OpacityMessage : String;
var TrackUnits : String;
try {
//Go through the list of Tracks
var trackEnum = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd()) {
var track : Track = Track(trackEnum.item());
//Go through the list of Events
var eventEnum = new Enumerator(track.Events);
while (!eventEnum.atEnd()) {
var evnt : TrackEvent = TrackEvent(eventEnum.item());
evnt.Selected = false; // De-select events in order to make problem events stand out
// (Problem events WILL be selected)
// If gain is less than 100% (or 0dB), but greater than the threshhold ...
if ( (evnt.FadeIn.Gain > Opacity) && (evnt.FadeIn.Gain < 1) ) {
// Highlight the "suspect" event
Vegas.SelectionStart = evnt.Start;
Vegas.SelectionLength = evnt.Length;
Vegas.Cursor = evnt.Start;
evnt.Selected = true;
Vegas.UpdateUI();
// Create error message to display in message box.
if (track.IsVideo()) {
TrackUnits = "100%";
EventLevel = 100 * evnt.FadeIn.Gain;
OpacityMessage = "This event is set to: " + EventLevel.toPrecision(2);
OpacityMessage = OpacityMessage + "%. Do you want to set to " + TrackUnits + "?";
}
else {
TrackUnits = "0dB";
EventLevel = 20 * Math.log (evnt.FadeIn.Gain);
OpacityMessage = "This event is set to: " + EventLevel.toPrecision(2);
OpacityMessage = OpacityMessage + "dB. Do you want to set to " + TrackUnits + "?";
}
var msgBoxResult = MessageBox.Show(OpacityMessage, "Region Selected", MessageBoxButtons.YesNo);
if (msgBoxResult == DialogResult.Yes) {
evnt.FadeIn.Gain = 1; // Correct the problem
}
}
evnt.Selected = false; // Clear all event selections
eventEnum.moveNext();
} // End While eventEnum
trackEnum.moveNext();
} // End While trackEnum
MessageBox.Show("Don't forget to check all track header levels.","Completed",MessageBoxButtons.OK,MessageBoxIcon.Information);
} catch (e) {
MessageBox.Show(e);
}
Особенности использования скрипта:
Значение "ошибки" уровня непрозрачности Opacity задано значением 10%. При необходимости его можно изменить, исправив в строке
#21| var Opacity = 0.90;
выделенные цифры на другую величину. В данном случае 0.90 - уровень, ниже которого изменения считаются сознательно внесенными.
Еще один чрезвычайно полезный скрипт от John H. Meyer
AuditForShortBlankGaps.
Порядок работы
После запуска скрипт находит в проекте промежутки (Gaps) и "наплывы" (Overlaps - нахлесты, пересечения) между фрагментами (event-ами) длительностью в несколько кадров, предлагая их исправить. Если они созданы сознательно, от правки можно отказаться.
/**
* This script finds short blank gaps or overlaps between events
* on the first selected track.
*
* Written By: John H. Meyer
* Date: December 2, 2003
*
**/
import System;
import System.IO;
import System.Windows.Forms;
import Sony.Vegas;
// Change this line if you want a different threshold
var Gap : Double = new Timecode("00:00:00:15").ToMilliseconds(); // 15 Frames
var lastevnt : TrackEvent;
var MyMarker : Marker; // Global function used in main program and in function
var evnt : TrackEvent;
var trackEnum : Enumerator;
try {
var dirty = 0;
var track = FindSelectedTrack(); //Use this function to find the first selected track.
//Go through the list of Events
var eventEnum = new Enumerator(track.Events);
var lastevnt = TrackEvent(eventEnum.item()); //initialize lastevent variable
while (!eventEnum.atEnd() ) {
evnt = TrackEvent( eventEnum.item() );
var test1 = evnt.Start.ToMilliseconds();
var test2 = lastevnt.Start.ToMilliseconds() + lastevnt.Length.ToMilliseconds();
// To only test for gaps only, use the first line below instead
// if ( ( (test1 - test2) > 0.05 ) && ( (test1 - test2) < Gap ) ) {
if ( ( Math.abs(test1 - test2) > 0.05 ) && (Math.abs(test1 - test2) < Gap) ) {
if (!MarkerExist(test1) ) {
MyMarker = new Marker(evnt.Start);
Vegas.Project.Markers.Add(MyMarker);
MyMarker.Label = "";
}
if (test1 > test2) {
MyMarker.Label = MyMarker.Label + "GAP********";
}
else {
MyMarker.Label = MyMarker.Label + "OVERLAP****";
}
dirty = 1;
}
lastevnt = evnt;
eventEnum.moveNext();
} // End While eventEnum
if (dirty == 1) {
Vegas.UpdateUI();
MessageBox.Show("Gaps and/or overlaps were found.","Completed",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
} catch (e) {
MessageBox.Show(e);
}
function FindSelectedTrack() : Track {
trackEnum = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd()) {
var track : Track = Track(trackEnum.item());
if (track.Selected) {
return track;
}
trackEnum.moveNext();
}
return null;
}
function MarkerExist (dStart) : boolean {
var markerEnum = new Enumerator(Vegas.Project.Markers);
while (!markerEnum.atEnd()) {
MyMarker = markerEnum.item(); // MyMarker is a global function in this project
var MarkerStart = MyMarker.Position.ToMilliseconds();
if ( dStart == MarkerStart ) {
return 1;
}
markerEnum.moveNext();
} // End while markerEnum
return 0;
}
Особенности использования скрипта:
Скрипт настроен на поиск промежутков и "наплывов" длительностью до 15 кадров. При необходимости можно уменьшить значение. Это может быть актуально для тех, кто использует при монтаже короткие фрагменты длительностью 9-12 кадров.
Для этого в строке
# 17| var Gap : Double = new Timecode("00:00:00:15").ToMilliseconds(); // 15 Frames
замените выделенные цифры на нужную Вам величину (значение менее 10 кадров пишется с нулем. Например "05")
Архив со скриптами и иконками можно скачать здесь:
romamos
03.09.2008, 01:56
Make_sfl_vegas.js скрипт для переноса маркеров (чаптеров) из проекта Вегаса в DVD Architect.
(работает во всех версиях, включая VP8b)
автор исходного кода неизвестен
модифицирован: GMax: http://www.terraspace.ru/gmax/video/
Здесь же можно найти и еще ряд авторских скриптов GMax для Bегаса. Всё описание - на русском.
Особенности работы.
После запуска скрипта открывается окошко, в верхней строке которого надо ввести название файла, в который будут сохранены маркеры из открытого проекта Вегаса. Название файла должно быть идентично названию предварительно подготовленного MPEG-видеофайла (включая расширение). Файл с маркерами сохраняется в ту же папку, что и MPEG. После создания проекта в DVD Architect активируем MPEG-файл, и в Timeline window нажимаем кнопку "Load Markers". После этого остается лишь подкорректировать расстановку маркеров по i-фреймам.
Архив со скриптом и иконкой к нему лежит здесь (http://narod.ru/disk/2377134000/Make_SFL_Vegas_Script.rar.html).
Или здесь -
romamos
03.09.2008, 02:08
Ещё несколько скриптов для работы со звуком.
AdjustDictorVolume написанный Edward Troxel и модифицированный David Arendt
- автоматически понижает уровень звукового сопровождения в тех местах, где есть дикторский текст.
Порядок работы:
Записываем дикторский текст на отдельный трек, называем его "Dictor"
кому не нравится название, может исправить на другое в строке
#32| var VoiceTrack = FindTrack("Dictor");
трек со звуковым сопровождением называем "Music"
аналогично, если не нравится название исправляем в строке
#36| var MusicTrack = FindTrack("Music");
разрезаем дикторский текст на фрагменты, расставляем их по своим местам (скрипт ориентируется по пробелам между event-ами) и запускаем скрипт.
/**
* This script will reduce the volume on a music track whenever there are clips
* on a narrative track.
* Written By: Edward Troxel - Vegas Tips, Tricks, & Scripts
* Modified By: David Arendt - multiple successive tracks now working
**/
import System;
import System.IO;
import System.Object;
import System.Windows.Forms;
import Sony.Vegas;
try {
// Set the defaults
var FadeWhen = 2; // 1 = all before/after, 2 = Centered on start/end
var FadeMS : Double = 1000; //500 = 1/2 second - Time is MilliSeconds
var LoudVol = 1; //1 = 0db, 2 = 6db, 1.5 = 3.5db, 1.75 = 4.8db
var SoftVol = 0.5; //0 = -inf, .5 = -6db, .25 = -12db
if (FadeWhen == 2) {
FadeMS = FadeMS / 2;
}
var FadeTime = new Timecode(FadeMS);
// Find the two audio tracks by name
var VoiceTrack = FindTrack("Dictor");
if (null == VoiceTrack)
throw "no selected track";
var MusicTrack = FindTrack("Music");
if (null == MusicTrack)
throw "no selected track";
// Find the volume envelope on the music track - add if needed
var VolEnv = FindEnvelope(MusicTrack, EnvelopeType.Volume);
if (null == VolEnv) {
VolEnv = new Envelope(EnvelopeType.Volume);
MusicTrack.Envelopes.Add(VolEnv);
}
// Go thru the events on the narrative track finding in/out points
var eventEnum = new Enumerator(VoiceTrack.Events);
while (!eventEnum.atEnd()) {
var evnt : TrackEvent = TrackEvent(eventEnum.item());
var evntStart : Timecode = evnt.Start;
var evntLen : Timecode = evnt.Length;
// begin modification by David Arendt
eventEnum.moveNext();
var nextEvnt : TrackEvent;
var nextEvntStart : Timecode;
var nextEvntLen : Timecode;
while (!eventEnum.atEnd())
{
nextEvnt = TrackEvent(eventEnum.item());
nextEvntStart = nextEvnt.Start;
nextEvntLen = nextEvnt.Length;
if (nextEvntStart > evntStart + evntLen + FadeTime + FadeTime)
break;
evntLen = nextEvntStart - evntStart + nextEvntLen;
eventEnum.moveNext();
}
// end modification by David Arendt
VolEnv.Points.Add(new EnvelopePoint(evntStart - FadeTime, LoudVol));
if (FadeWhen == 2) {
VolEnv.Points.Add(new EnvelopePoint(evntStart + FadeTime, SoftVol));
} else {
VolEnv.Points.Add(new EnvelopePoint(evntStart, SoftVol));
}
if (FadeWhen == 2) {
VolEnv.Points.Add(new EnvelopePoint(evntStart + evntLen - FadeTime, SoftVol));
} else {
VolEnv.Points.Add(new EnvelopePoint(evntStart + evntLen, SoftVol));
}
VolEnv.Points.Add(new EnvelopePoint(evntStart + evntLen + FadeTime, LoudVol));
}
} catch (e) {
MessageBox.Show(e);
}
function FindTrack(WhichTrack) : Track {
var trackEnum = new Enumerator(Vegas.Project.Tracks);
var PrevTrack : Track = Track(trackEnum.item());
while (!trackEnum.atEnd()) {
var track : Track = Track(trackEnum.item());
if (WhichTrack == "Current") {
if (track.Selected) {
return track;
}
}
if (WhichTrack == "Previous") {
if (track.Selected) {
return PrevTrack;
}
}
if (track.Name == WhichTrack) {
return track;
}
trackEnum.moveNext();
}
return null;
}
function FindEnvelope(track : Track, etype : EnvelopeType) : Envelope {
var envEnum : Enumerator = new Enumerator(track.Envelopes);
while (!envEnum.atEnd()) {
var env : Envelope = envEnum.item();
if (env.Type == etype) {
return env;
}
envEnum.moveNext();
}
return null;
}
Особенности использования скрипта:
Скрипт настроен на понижение/повышение звукового сопровождения на 6db за 1 сек. в начале/конце event-а с дикторским текстом. Fade центрирован по началу/концу event-а.
Настройки меняются в строках
#17| var FadeWhen = 2; // 1 = all before/after, 2 = Centered on start/end
#18| var FadeMS : Double = 1000; //500 = 1/2 second - Time is MilliSeconds
#19| var LoudVol = 1; //1 = 0db, 2 = 6db, 1.5 = 3.5db, 1.75 = 4.8db
#20| var SoftVol = 0.5; //0 = -inf, .5 = -6db, .25 = -12db
MuteAudio от Randall Campbell
здесь все просто - одной кнопкой глушится/включается весь звук в проекте.
// Mutes or unmutes a portion of an audio clip.
// To use:
// 1. Select the desired audio track
// 2. Define a time selection for the part of the clip to mute
// 3. Run the script
// The script creates a mute or volume envelope for the selected track if one does not exist and adds points
// to mute the audio. If points already exist in the selection, they are deleted to unmute the audio.
//
// Author: Randall Campbell, info@peachrock.com, www.peachrock.com
// © Copyright 2004, Peach Rock Productions, LLC.
// You are free to use or modify this code as long as the copyright information is not removed.
// This software is provided AS IS, no warranty is expressed or implied
import System;
import System.Windows.Forms;
import System.Collections;
import Sony.Vegas;
// You can change the fade amount if desired. The default is 1 milliseconds. This value must be greater than 0.
var fadeOut : Timecode = Timecode.FromMilliseconds(1);
var fadeIn : Timecode = Timecode.FromMilliseconds(1);
// You can modify the curve type here. Valid values are: Smooth, Sharp, Slow, Linear, Fast, None (ie. Hold)
var fadeOutCurve : CurveType = CurveType.Smooth;
var fadeInCurve : CurveType = CurveType.Smooth;
// You can change the envelope to use the volume envelope by changing EnvelopeType.Mute to EnvelopeType.Volume
// Just comment out the mode that you don't want
//var envelopeType : EnvelopeType = EnvelopeType.Mute;
var envelopeType : EnvelopeType = EnvelopeType.Volume;
for (var track in Vegas.Project.Tracks)
{
if (!track.IsAudio() || !track.Selected)
continue;
if (!track.Envelopes.HasEnvelope(envelopeType))
track.Envelopes.Add(new Envelope(envelopeType));
var envelope : Envelope = track.Envelopes.FindByType(envelopeType);
var unmuted = false;
for (var i = envelope.Points.Count - 1; i > 0; i--)
{
var point : EnvelopePoint = envelope.Points.Item[i];
if (point.X >= Vegas.SelectionStart && point.X <= (Vegas.SelectionStart + Vegas.SelectionLength))
{
envelope.Points.Remove(point);
unmuted = true;
}
}
if (!unmuted)
{
envelope.Points.Add(new EnvelopePoint(Vegas.SelectionStart, 1, fadeOutCurve));
envelope.Points.Add(new EnvelopePoint(Vegas.SelectionStart + fadeOut, 0));
envelope.Points.Add(new EnvelopePoint(Vegas.SelectionStart + Vegas.SelectionLength - fadeIn, 0, fadeInCurve));
envelope.Points.Add(new EnvelopePoint(Vegas.SelectionStart + Vegas.SelectionLength, 1));
}
}
NormalizeAll
- запускает нормализацию звука для всех аудио-фрагментов
/**
* This script normalizes all Audio Events in the current project.
* This script works best if you run it after all event peaks have
* been built.
*
* Revision Date: Feb. 10, 2003
**/
import Sony.Vegas;
var trackEnum : Enumerator = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd()) {
var track : Track = Track(trackEnum.item());
if (track.IsAudio()) {
var eventEnum : Enumerator = new Enumerator(track.Events);
while (!eventEnum.atEnd()) {
var audioEvent : AudioEvent = AudioEvent(eventEnum.item());
audioEvent.Normalize = true;
eventEnum.moveNext();
}
}
trackEnum.moveNext();
}
RecreateAudioEvents
- чрезвычайно полезный скрипт для тех, кто увлекшись монтажом картинки начинает искать исходный звук (интершум, реплики и т.п.) видео-фрагментов. Эту операцию можно сделать через Trimmer, но если фрагментов много, а времени, как всегда - мало, то быстрее сделать это скриптом.
/*
* (re)create audio parts on seperate audio track for all selected video events
*/
import System.Windows.Forms;
import Sony.Vegas;
try {
// create new target audio track
var targetTrack = new AudioTrack(-1,"Missing Audio");
Vegas.Project.Tracks.Add(targetTrack);
// step through all selected video events:
for (var track in Vegas.Project.Tracks) {
for (var evnt in track.Events) {
if (!evnt.Selected || evnt.MediaType != MediaType.Video) continue;
// create a fitting audio event and add to target audio track:
var audioEvent = new AudioEvent(evnt.Start,evnt.Length);
targetTrack.Events.Add(audioEvent);
// step through all events of selected video event
for (var tke in evnt.Takes)
{
// find first audio stream in this takes media
var aviFile = new Media(tke.MediaPath);
for (var stream in aviFile.Streams)
{
if (stream.MediaType != MediaType.Audio) continue;
// create new take out of this audio stream
var newTake = new Take(stream,tke.IsActive);
// add it to target audio event (must be done before anything else!!)
audioEvent.Takes.Add(newTake);
// fit offset to video event
newTake.Offset = tke.Offset;
break; // we assume there's only one audio part in any avi file
}
}
audioEvent.Selected = true;
}
}
} catch (e) {MessageBox.Show(e);}
Архив со скриптами и иконками к ним :
romamos
03.09.2008, 02:08
Скрипт DeleteEmptySpaceBetweenEvents удаляет пустые места между event-ами на выделенных треках.
/**
* Program:
* Description: This script will Delete Empty Space Between Events In Selected Tracks
* Author: Philip
*
* Date: August 31, 2003
**/
import Sony.Vegas;
import System.Windows.Forms;
import Microsoft.Win32;
//time intervals for split events.
try
{
// step through all selected video events:
var FirstTrack : Track = Vegas.Project.Tracks.Item(0);
// step through all selected video events:
for (var track in Vegas.Project.Tracks) {
if( !track.Selected) continue;
var tracktime = new Timecode(0);
for (var evnt in track.Events) {
evnt.AdjustStartLength(tracktime,evnt.Length,true) ;
tracktime = tracktime + evnt.Length;
}
}
}
catch (errorMsg)
{
MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
Комплект (скрипт с иконкой) лежит здесь:
romamos
06.09.2008, 00:21
Barronizer_10
Скрипт для "шинковки" even-ов в Вегасе (работает во всех версиях, включая VP8).
Режет выделенные even-ты на части с последующей сборкой "в кучку", или без нее.
В начале кода есть описание работы скрипта и его параметров. Для тех, кто не знает английского - краткая инструкция.
После запуска появляется окно управления параметрами нарезки.
http://savepic.ru/186617.jpg
"Number of Jumps" - количество "отрезов"
"Jump Length" - длина "отреза"
"Inter-Jump Length" - промежуток между "отрезами"
Внимание! Параметры - в кадрах.
В нижней части опция "сборки":
"Don't" - без сборки.
"Front" - собрать все к первому "отрезу".
"Back" - собрать все к последнему "отрезу".
Нажав кнопку Barronize! получаем результат.
http://savepic.ru/172281.jpg
/*
* Copyright (c) 2004, Folding Rain Filmworks Inc.
*
* author: Joe Howes (joeh@guild1.com)
*
* I wrote this script while working on the making-of documentary
* for The Libertine. I was working with the two geniunses behind
* the design of all the special effects for the Hallmark
* mini-series "Dreamkeeper". The director of that film is an
* underrated and overawesome guy named Steve Barron, who pioneered
* the look of about 90% of the television you saw in the nineties.
* He was the first director to embrace speeding through a scene by
* jump-cutting through hundreds of frames in a very short time,
* resulting in an ultra-cool stutter effect that rocks ass.
*
* Anyway, Steve is a great guy, a super cool dude, and his work
* quite frankly gives me a boner for filmmaking like no one else.
*
* http://www.imdb.com/name/nm0006625/
*
* USAGE:
* Select one and only one video event.
*
* Number of Jumps: The number of jump cuts you want to end up with.
* Jump Length: The length (in frames) of the visible jumps.
* Inter-Jump Length: The length (in frames) of the bits between the
* visible frames that will be removed.
*
* Gather: If "Don't", all the jumps will be left in place.
* If "Front", the jumps will be gathered together at the start
* point of the original event.
* If "Back", the jumps will be gathered together at the end
* of the cutting area, bumped right up against the remaining
* event.
*
* After application, the jump cuts will be bumped right up against
* the remaning portion of video.
*
* v1.1: Aug. 22, 2004
*/
import System;
import System.Collections;
import System.Text;
import System.IO;
import System.Drawing;
import System.Windows.Forms;
import Sony.Vegas;
/**
* Just get the selected event (there can be only one) and Barronize it.
*/
try {
var dlog = new BarronizerDialog();
var done:Boolean = false;
while (!done) {
if (DialogResult.OK == dlog.ShowDialog()) {
var targetEvent:TrackEvent = getSelectedEvent();
if (targetEvent != null) {
// Validate input
var numJumps : Number;
if (dlog.numJumps.Text == "*") {
numJumps = new Number(-1);
} else {
numJumps = new Number(dlog.numJumps.Text);
}
//MessageBox.Show("JOE: " + numJumps, "JOE");
/*if (numJumps.isNaN()) {
MessageBox.Show("Number of jumps must be either '*' or a number.", "WARNING");
}*/
// Put together the gather option
var gatherOption = "NO";
if (dlog.gatherFrontRadio.Checked) {
gatherOption = "FRONT";
} else if (dlog.gatherBackRadio.Checked) {
gatherOption = "BACK";
}
// Put together the fade option
var fadeOption = "NO";
if (dlog.fadeInRadio.Checked) {
fadeOption = "IN";
} else if (dlog.fadeOutRadio.Checked) {
fadeOption = "OUT";
}
// Barronize!
done = barronize(targetEvent,
numJumps,
dlog.jumpLen.Text,
dlog.interJumpLen.Text,
gatherOption,
fadeOption);
}
} else {
done = true;
}
}
Vegas.UpdateUI();
}
catch (e) {
MessageBox.Show(e, "WARNING");
}
/**
* Jump-cut through a number of frames to produce a cool skipping effect.
*/
function barronize(evt:TrackEvent,
numJumps,
jumpLen,
interJumpLen,
gatherOption,
fadeOption) {
var theTrack : Track; // The track this is all happening on
var theGroup : TrackEventGroup; // The group this track belongs to
var node : TrackEvent; // A stutter node
var internode : TrackEvent; // An internode
var nodeTC : Timecode; // Node length in frames converted to timecode
var internodeTC : Timecode; // Internode length in frames converted to timecode
var originalStart : Timecode; // Original starting timecode of the event
var effectLen : Timecode;
var stutterNodeList : Array;
var tcCounter : Timecode;
var index = 0;
// Some init
theTrack = evt.Track;
theGroup = evt.Group;
nodeTC = new Timecode("00:00:00," + jumpLen);
internodeTC = new Timecode("00:00:00," + interJumpLen);
originalStart = evt.Start;
// If numJumps is -1, just make as many jumps as possible in the event
// given the jumpLen and interJumpLen
if (numJumps == -1) {
var evtFrames = evt.Length.FrameCount;
var divisor = new Number(jumpLen) + new Number(interJumpLen);
numJumps = Math.floor(new Number(evtFrames / divisor));
}
// Figure out the amount of time the stutter effect will consume of the event
effectLen = new Timecode("00:00:00,00");
for (var i = 0; i < numJumps; i++) {
effectLen += nodeTC + internodeTC;
}
// If there's not enough event, let 'em know and bail
if (effectLen > evt.Length) {
MessageBox.Show("Event not long enough.", "WARNING");
return false;
}
stutterNodeList = new Array();
node = evt;
stutterNodeList[index++] = node;
// -- SPLIT --
for (var i = 0; i < numJumps; i++) {
// Make a node (no, this is not reversed, we are making a NODE)
internode = node.Split(nodeTC);
// Make an internode (no, this is not reversed, we are making an INTERNODE)
node = internode.Split(internodeTC);
// If the node is not the final leftover chunk, add it to the list of
// stutter nodes that need to be bumped up against the leftover event
if (i < (numJumps - 1)) {
stutterNodeList[index++] = node;
}
// Remove the internode
theTrack.Events.Remove(internode);
}
// -- GATHER --
// If there's no gathering to be done, skip it
if (gatherOption != "NO") {
// Default to FRONT
tcCounter = originalStart;
if (gatherOption == "BACK") {
// Now we move all the stutter nodes up against the leftover event
tcCounter = node.Start;
// Count back nodeTC frames for every stutter node
for (var i = 0; i < numJumps; i++) {
tcCounter = tcCounter - nodeTC;
}
}
// Adjust them all
for (var i = 0; i < stutterNodeList.length; i++) {
node = stutterNodeList[i];
/*if (groupBaseList.Contains(node)) {
theGroup.Remove(node);
}*/
node.AdjustStartLength(tcCounter, nodeTC, true);
tcCounter += nodeTC;
}
}
// -- FADE -- not implemented yet
// If there's no fading to be done, skip it
if (fadeOption != "NO") {
}
return true;
}
/**
* Function: getSelectedEvent()
*
* Find the selected video event while making sure that the only event selected
* in the entire project is a video event, and there is only one.
*/
function getSelectedEvent() {
var done:Boolean = false;
var targetEvent:TrackEvent = null;
var selectCount = 0;
// Search all groups
for (var track in Vegas.Project.Tracks) {
for (var evnt in track.Events) {
if (evnt.Selected) {
targetEvent = evnt;
selectCount++;
}
}
}
if (selectCount < 0) {
throw("No video events selected.");
}
if (selectCount > 1) {
throw("More than one event selected. Select one and only one video event.");
}
if (targetEvent == null || targetEvent.IsAudio()) {
throw("No video events selected.");
}
return targetEvent;
}
/**
* My homage to Steve...his very own dialog box.
*/
class BarronizerDialog extends Form {
var numJumps : TextBox;
var jumpLen : TextBox;
var interJumpLen : TextBox;
var barronizeButton : Button;
var cancelButton : Button;
var cuttingParamGroup : GroupBox;
var gatherNoRadio : RadioButton;
var gatherFrontRadio : RadioButton;
var gatherBackRadio : RadioButton;
var gatherParamGroup : GroupBox;
var fadeNoRadio : RadioButton;
var fadeInRadio : RadioButton;
var fadeOutRadio : RadioButton;
var fadeParamGroup : GroupBox;
function BarronizerDialog() {
this.Text = "Barronizer";
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.MaximizeBox = false;
this.StartPosition = FormStartPosition.CenterScreen;
this.numJumps = new TextBox();
this.jumpLen = new TextBox();
this.interJumpLen = new TextBox();
this.Width = 237;
this.Height = 219;
// numJumps
var numJumpsLabel:Label = new Label();
numJumpsLabel.Location = new System.Drawing.Point(8, 25);
numJumpsLabel.Name = "numJumpsLabel";
numJumpsLabel.Size = new System.Drawing.Size(100, 16);
numJumpsLabel.TabIndex = 2;
numJumpsLabel.Text = "Number of Jumps:";
numJumps.Location = new System.Drawing.Point(110, 22);
numJumps.Name = "numJumps";
numJumps.Size = new System.Drawing.Size(80, 20);
numJumps.TabIndex = 1;
numJumps.Text = "*";
// jumpLen
var jumpLenLabel:Label = new Label();
jumpLenLabel.Location = new System.Drawing.Point(8, 50);
jumpLenLabel.Name = "jumpLenLabel";
jumpLenLabel.Size = new System.Drawing.Size(100, 16);
jumpLenLabel.TabIndex = 2;
jumpLenLabel.Text = "Jump Length:";
jumpLen.Location = new System.Drawing.Point(110, 47);
jumpLen.Name = "jumpLen";
jumpLen.Size = new System.Drawing.Size(80, 20);
jumpLen.TabIndex = 1;
jumpLen.Text = "2";
// interJumpLen
var interJumpLenLabel:Label = new Label();
interJumpLenLabel.Location = new System.Drawing.Point(8, 75);
interJumpLenLabel.Name = "interJumpLenLabel";
interJumpLenLabel.Size = new System.Drawing.Size(100, 16);
interJumpLenLabel.TabIndex = 2;
interJumpLenLabel.Text = "Inter-Jump Length:";
interJumpLen.Location = new System.Drawing.Point(110, 72);
interJumpLen.Name = "interJumpLen";
interJumpLen.Size = new System.Drawing.Size(80, 20);
interJumpLen.TabIndex = 1;
interJumpLen.Text = "12";
// cuttingParamGroup
cuttingParamGroup = new GroupBox();
cuttingParamGroup.Controls.Add(numJumpsLabel);
cuttingParamGroup.Controls.Add(numJumps);
cuttingParamGroup.Controls.Add(jumpLenLabel);
cuttingParamGroup.Controls.Add(jumpLen);
cuttingParamGroup.Controls.Add(interJumpLenLabel);
cuttingParamGroup.Controls.Add(interJumpLen);
cuttingParamGroup.Location = new System.Drawing.Point(8, 8);
cuttingParamGroup.Name = "cuttingParamGroup";
cuttingParamGroup.Size = new System.Drawing.Size(216, 100);
cuttingParamGroup.TabIndex = 4;
cuttingParamGroup.TabStop = false;
cuttingParamGroup.Text = "Cutting Options";
this.Controls.Add(cuttingParamGroup);
// Gathering
gatherNoRadio = new RadioButton();
gatherNoRadio.Location = new System.Drawing.Point(10, 20);
gatherNoRadio.Size = new System.Drawing.Size(50, 16);
gatherNoRadio.Name = "gatherNoRadio";
gatherNoRadio.TabIndex = 1;
gatherNoRadio.Text = "Don't";
gatherFrontRadio = new RadioButton();
gatherFrontRadio.Location = new System.Drawing.Point(85, 20);
gatherFrontRadio.Size = new System.Drawing.Size(50, 16);
gatherFrontRadio.Name = "gatherFrontRadio";
gatherFrontRadio.TabIndex = 1;
gatherFrontRadio.Text = "Front";
gatherBackRadio = new RadioButton();
gatherBackRadio.Location = new System.Drawing.Point(160, 20);
gatherBackRadio.Size = new System.Drawing.Size(50, 16);
gatherBackRadio.Name = "gatherBackRadio";
gatherBackRadio.TabIndex = 1;
gatherBackRadio.Text = "Back";
gatherBackRadio.Checked = true;
// Gathering group
gatherParamGroup = new GroupBox();
gatherParamGroup.Controls.Add(gatherNoRadio);
gatherParamGroup.Controls.Add(gatherFrontRadio);
gatherParamGroup.Controls.Add(gatherBackRadio);
gatherParamGroup.Location = new System.Drawing.Point(8, 115);
gatherParamGroup.Name = "gatherParamGroup";
gatherParamGroup.Size = new System.Drawing.Size(216, 45);
gatherParamGroup.TabIndex = 4;
gatherParamGroup.TabStop = false;
gatherParamGroup.Text = "Gathering Options";
this.Controls.Add(gatherParamGroup);
// Fading
fadeNoRadio = new RadioButton();
fadeNoRadio.Location = new System.Drawing.Point(10, 20);
fadeNoRadio.Size = new System.Drawing.Size(50, 16);
fadeNoRadio.Name = "fadeNoRadio";
fadeNoRadio.TabIndex = 1;
fadeNoRadio.Text = "Don't";
fadeNoRadio.Checked = true;
fadeInRadio = new RadioButton();
fadeInRadio.Location = new System.Drawing.Point(85, 20);
fadeInRadio.Size = new System.Drawing.Size(50, 16);
fadeInRadio.Name = "fadeInRadio";
fadeInRadio.TabIndex = 1;
fadeInRadio.Text = "In";
fadeOutRadio = new RadioButton();
fadeOutRadio.Location = new System.Drawing.Point(160, 20);
fadeOutRadio.Size = new System.Drawing.Size(50, 16);
fadeOutRadio.Name = "fadeOutRadio";
fadeOutRadio.TabIndex = 1;
fadeOutRadio.Text = "Out";
// Fading group
fadeParamGroup = new GroupBox();
fadeParamGroup.Controls.Add(fadeNoRadio);
fadeParamGroup.Controls.Add(fadeInRadio);
fadeParamGroup.Controls.Add(fadeOutRadio);
fadeParamGroup.Location = new System.Drawing.Point(8, 170);
fadeParamGroup.Name = "fadeParamGroup";
fadeParamGroup.Size = new System.Drawing.Size(216, 45);
fadeParamGroup.TabIndex = 4;
fadeParamGroup.TabStop = false;
fadeParamGroup.Text = "Fade Options";
//this.Controls.Add(fadeParamGroup);
// Buttons
barronizeButton = new Button();
barronizeButton.DialogResult = System.Windows.Forms.DialogResult.OK;
barronizeButton.Text = "Barronize!";
barronizeButton.Left = 65;
barronizeButton.Top = 165;
AcceptButton = barronizeButton;
Controls.Add(barronizeButton);
cancelButton = new Button();
cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
cancelButton.Text = "Cancel";
cancelButton.Left = 148;
cancelButton.Top = 165;
CancelButton = cancelButton;
Controls.Add(cancelButton);
}
}
Архив со скриптом и иконкой лежит здесь (http://ifolder.ru/5782046).
Успехов всем!
Make_sfl_vegas.js скрипт для переноса маркеров (чаптеров) из проекта Вегаса в DVD Architect.
а какой в нем смысл? или это для тех случаев, когда MPEG2 выводится не из Вегаса?
После этого остается лишь подкорректировать расстановку маркеров по i-фреймам.
вот это серьезный минус альтернативных MPEG2-кодировщиков. приятно все-таки и удобно расставлять чаптеры по своему усмотрению, а не зависеть от произвольно ими расставленных I-кадров.
Расставляй перед кодированием в ССЕ - он в месте маркера автоматически ставит I-кадр.
Yarosik
11.02.2009, 16:50
Make_sfl_vegas.js скрипт для переноса маркеров (чаптеров) из проекта Вегаса в DVD Architect.
(работает во всех версиях, включая VP8b)
Архив со скриптом и иконкой к нему лежит здесь (http://narod.ru/disk/2377134000/Make_SFL_Vegas_Script.rar.html).
Или здесь -
ПриветЪ!
старнно, но у меня не срабатывает. и вот такую ошибку выдает(см. приложения)
Версия - Вегас 8.0с, что подскажете?
romamos
12.02.2009, 22:14
Только что еще раз попробовал на Vegas 8.0c. Все работает.
Я, увы, не программер, поэтому точный диагноз дать не могу. Возможно проблема в NET.Framework, или, как уже бывало прежде, в каком-нибудь обновлении безопасности от мелкомягких. У меня монтажная система только с SP2 и небольшим набором критических обновлений.
Yarosik
15.02.2009, 09:59
ПриветЪ!
Похоже на то, мой ХР обновляется автоматически. И вот что страннно,
RecreateAudioEvents и AlfaChanel работают. а другие скрипты - нет.
может есть у кого-нибудь догадки на этот счет?
попробуй переустановить Вегас.На проекты это никак не скажется..
Помниться скрипты разные бывают. Были под версии когда вега еще была не сонивская(там имя что ли менял, не помню уже). А и еще разные фреймнетвоки им нужны вроде бы(опять тут не помню:-))
RemoveAllEffects
Достаточно полезный скрипт, редкая необходимость в использовании но очень важен при ошибочном монтаже и переделке достаточно большого проекта. Как следует из названия удаляет все присвоенные эффекты из выделенных эвентов.
/**
* This script will remove all effects from selected events
*
* To use, simply select the events on which effects are to be eliminated.
*
* Written By: Edward Troxel
* www.jetdv.com/tts
* Modified: 07-23-2003
**/
import System;
import System.Collections;
import System.Text;
import System.IO;
import System.Drawing;
import System.Windows.Forms;
import Sony.Vegas;
try {
var trackEnum = new Enumerator(Vegas.Project.Tracks);
while (!trackEnum.atEnd()) {
var track : Track = Track(trackEnum.item());
//Go through the list of Events
var eventEnum = new Enumerator(track.Events);
while (!eventEnum.atEnd()) {
var evnt : TrackEvent = TrackEvent(eventEnum.item());
if (evnt.Selected & evnt.IsVideo()) {
var videoEvent = VideoEvent(evnt);
var i;
for (i=videoEvent.Effects.Count - 1; i >= 0; i--) {
var effect = videoEvent.Effects[i];
videoEvent.Effects.Remove(effect);
}
}
eventEnum.moveNext();
}
trackEnum.moveNext();
}
} catch (e) {
MessageBox.Show(e);
}
romamos
16.02.2009, 17:17
ПриветЪ!
Похоже на то, мой ХР обновляется автоматически. И вот что страннно,
RecreateAudioEvents и AlfaChanel работают. а другие скрипты - нет.
В Вегасе при установке ставится базовый набор скриптов. Эти скрипты работают?
Yarosik
19.02.2009, 10:54
ПриветЪ!
работает не всякий сторонний скрипт, родные работают.
romamos
19.02.2009, 13:53
Тогда надо разбираться с каждым конкретно. Как вариант - брать тексты неработающих скриптов и сравнивать построчно с рабочими. Иногда скрипты не запускаются из-за того, что неправильно указаны пути сохранения, форматы и т.п.
Те, что выкладываются в этой теме, работают вплоть до VP 8.0c.
Общее для всех скриптов - в первых строках должно быть указано:
"import System.Windows.Forms;
import Sony.Vegas;"
у "старых" скриптов часто бывает ошибка во второй строке. Вместо Sony - Sonic Foundry.
Yarosik
20.02.2009, 09:31
ПриветЪ!
вот спасибо, в програмирование не вникал, но просмотрю тексты тех скриптов что не работают.
albert_kes
20.03.2009, 13:41
Несколько скриптов для 8 версии (http://sony.vegas.1.free.fr/)
albert_kes
27.03.2009, 11:02
Коллекция скриптов
Add Effect And Slow Play
Add effect to all media
Add markers at interval
Add markers at interval
Add markers to events
Add Regions To Events
Add2SecondGap
Adjust volume
Apply Random Transition
Apply transitions
Aspect ratio
Audio to new take
Audit for event levels
Audit for short blank gaps
Automated_photo_snapshot
Automated_photo_snapshot
Batch render
Batch render gui
Batch Render GUI (JHM)
Batch Render Gui JHM
Blink
ChangeAlphaChannel
ChangeMediaPoolAspectRatio
Chop off front
CopyVelEnv(e)
Create tracks
CurveTypesConcave
CurveTypesConvex
CurveTypesLinear
CurveTypesSmooth
Delete Empty Space Between Events
Delete from cursor to event start
Delete n frames from event
Delete next frames on all tracks
Directory converter
Drum bus and track
DVDA chapter from Vegas marker
Event curve types (4)
Expand events
Export images for range
Fade event in out
Fade in out cursor
Film look
Highlight selected fX Events
Improved Render Gui
Loop to normalize
Markers at Media Change Points
Markers To Regions
Match aspect
Move cursor 60 sec left
Multi Cam Dissolve
Multi fade
MulticamWithTakes 1.54
Normalize all
One frame from each event
Opacity level
Photo_Snapshot
Play Sound
Put In First Track End
Quick Envelope
Quick pan
Quick Pan 1.0
QuickEnvelope2.0[1]
RC1_filmlook
Reconstruct Audio events
Recreate Audio events
Reduce Interlace Flicker
Regions from event names
RegionsToChapters
Remote Control
Remove all effects
Remove Not Active Takes
Render DVD
Render image sequence
Render on markers
Render queue
RenderSegs2
Reverse event
Select all
Select all events in single track
Select all events in tracks
SelectEventsFromCursor
Selection area around selected event
SelectionToMultitakeClips 1.32
Show number of tracks
Snapshot to clipboard
Snapshot to file
Split Events
TapTempo
Test pattern
Test timeline redraw
Thumbnail
Thumbnail at markers
Time Lapse (1 Frame per Event)
Tracksetup
Transitions
TRIMMODULE 1.12
VegasQuakeInstall
Visual Key framer
wil_maestrochp
ЗЫ Если есть повторы, извините. все не проверял
Описание на аглицком в архиве Описание.zip
.
vladyud
27.03.2009, 13:01
Экспорт маркеров в XML-файл в формате программы MKVmerge
- скрипт будет полезен тем, кто собирает mkv-файлы в MKVmerge;
- после экспорта достаточно загрузить полученный xml-файл в MKVmerge: меню Chapter Editor -> Load,
либо указать Chapter file в закладке Global.
/**
* Script that exports Sony Vegas project's markers data to an XML file.
*
* Based on "Export XML" script.
*
* Note: Not every aspect of project data is accessible from the
* scripting API so it is likely that information will be lost in a
* round trip to and from Xml. Most noticeably, you'll loose effect
* properties.
*
* Revision Date: March 27, 2009.
* Author: Vlad Yudkin
**/
using System;
using System.Collections;
using System.Text;
using System.IO;
using System.Xml;
using System.Windows.Forms;
using System.Globalization;
using Sony.Vegas;
public class EntryPoint
{
NumberFormatInfo myNumberFormat = NumberFormatInfo.InvariantInfo;
System.Text.Encoding myCharacterEncoding = System.Text.Encoding.UTF8;
bool UseProjectRulerFormatForTimecodes = true;
RulerFormat myTimecodeFormat = RulerFormat.Nanoseconds;
Vegas myVegas = null;
public void FromVegas(Vegas vegas) {
myVegas = vegas;
if (UseProjectRulerFormatForTimecodes)
myTimecodeFormat = myVegas.Project.Ruler.Format;
String outputFile = myVegas.Project.FilePath;
if (!String.IsNullOrEmpty(outputFile)) {
String fileNameWOExt = Path.GetFileNameWithoutExtension(outputFile);
String directoryName = Path.GetDirectoryName(outputFile);
outputFile = Path.Combine(directoryName, fileNameWOExt + ".xml");
}
outputFile = ShowSaveFileDialog("XML Files (*.xml)|*.xml", "XML Output File", outputFile);
myVegas.UpdateUI();
if (null != outputFile) {
ExportXml(outputFile);
}
}
void ExportXml(String outputFile) {
XmlDocument doc = new XmlDocument();
XmlProcessingInstruction xmlPI = doc.CreateProcessingInstruction("xml", "version=\"1.0\"");
doc.AppendChild(xmlPI);
XmlElement root = doc.CreateElement("Chapters");
doc.AppendChild(root);
ExportProject(root, myVegas.Project);
XmlTextWriter writer = new XmlTextWriter(outputFile, myCharacterEncoding);
writer.Formatting = Formatting.Indented;
writer.Indentation = 2;
writer.IndentChar = ' ';
doc.WriteTo(writer);
writer.Close();
}
void ExportProject(XmlElement parent, Project proj) {
XmlElement elt = AddChild(parent, "EditionEntry");
ChildInt32(elt, "EditionFlagHidden", 0);
ChildInt32(elt, "EditionFlagDefault", 0);
ChildString(elt, "EditionUID", proj.Length.Nanos.ToString(myNumberFormat));
ExportMarkers(elt, proj.Markers, "Markers");
}
void ExportMarkers(XmlElement parent, IList markers, String type) {
foreach (Marker marker in markers) {
ExportMarker(parent, marker);
}
}
void ExportMarker(XmlElement parent, Marker marker) {
Type type = marker.GetType();
XmlElement elt = AddChild(parent, "ChapterAtom");
ChildString(elt, "ChapterUID", marker.Position.Nanos.ToString(myNumberFormat));
ChildUInt32(elt, "ChapterFlagHidden", 0);
ChildUInt32(elt, "ChapterFlagEnabled", 1);
XmlElement elt2 = AddChild(elt, "ChapterDisplay");
ChildString(elt2, "ChapterString", marker.Label);
ChildString(elt2, "ChapterLanguage", "rus");
ChildTimecode(elt, "ChapterTimeStart", marker.Position);
}
XmlElement AddChild(XmlElement parent, String childName) {
return ChildString(parent, childName, null);
}
// For Timecodes, both the string and nanos are exported so that
// importing them can be precise and flexible.
XmlElement ChildTimecode(XmlElement parent, String childName, Timecode childValue) {
XmlElement elt = ChildString(parent, childName, TimecodeToString(childValue));
//elt.SetAttribute("Nanos", myTimecodeFormat);
return elt;
}
XmlElement ChildBoolean(XmlElement parent, String childName, Boolean childValue) {
return ChildString(parent, childName, childValue.ToString());
}
XmlElement ChildDouble(XmlElement parent, String childName, Double childValue) {
return ChildString(parent, childName, childValue.ToString(myNumberFormat));
}
XmlElement ChildSingle(XmlElement parent, String childName, Single childValue) {
return ChildString(parent, childName, childValue.ToString(myNumberFormat));
}
XmlElement ChildInt64(XmlElement parent, String childName, Int64 childValue) {
return ChildString(parent, childName, childValue.ToString(myNumberFormat));
}
XmlElement ChildInt32(XmlElement parent, String childName, Int32 childValue) {
return ChildString(parent, childName, childValue.ToString(myNumberFormat));
}
XmlElement ChildUInt32(XmlElement parent, String childName, UInt32 childValue) {
return ChildString(parent, childName, childValue.ToString(myNumberFormat));
}
XmlElement ChildObject(XmlElement parent, String childName, Object childValue) {
return ChildString(parent, childName, childValue.ToString());
}
XmlElement ChildString(XmlElement parent, String childName, String childValue) {
XmlElement child = parent.OwnerDocument.CreateElement(childName);
parent.AppendChild(child);
if (null != childValue)
child.InnerText = childValue.ToString();
return child;
}
String TimecodeToString(Timecode timecode) {
return timecode.ToString(myTimecodeFormat);
}
String ShowSaveFileDialog(String filter, String title, String defaultFilename) {
SaveFileDialog saveFileDialog = new SaveFileDialog();
if (null == filter) {
filter = "All Files (*.*)|*.*";
}
saveFileDialog.Filter = filter;
if (null != title)
saveFileDialog.Title = title;
saveFileDialog.CheckPathExists = true;
saveFileDialog.AddExtension = true;
if (null != defaultFilename) {
String initialDir = Path.GetDirectoryName(defaultFilename);
if (Directory.Exists(initialDir)) {
saveFileDialog.InitialDirectory = initialDir;
}
saveFileDialog.DefaultExt = Path.GetExtension(defaultFilename);
saveFileDialog.FileName = Path.GetFileName(defaultFilename);
}
if (DialogResult.OK == saveFileDialog.ShowDialog()) {
return Path.GetFullPath(saveFileDialog.FileName);
} else {
return null;
}
}
}
Quentin Buratino
27.03.2009, 17:04
Экспорт маркеров в XML-файл в формате программы MKVmerge
- скрипт будет полезен тем, кто собирает mkv-файлы в MKVmerge;
- после экспорта достаточно загрузить полученный xml-файл в MKVmerge: меню Chapter Editor -> Load,
либо указать Chapter file в закладке Global.
офтоп:
как говориться у вас не будет второго шанса произвести первое впечатление =)
romamos
27.03.2009, 21:49
Quentin Buratino, зачем же так вот безапеляционно... Если бы вы потрудились посмотреть сам скрипт, то увидели бы, что скрипт как раз написан для Sony Vegas и предназначен для переноса данных проекта Вегаса в MKVmerge. Другое дело - то, что вы лично не пользуетесь этой программой, но тем кто использует MKVmerge, этот скрипт очень пригодится. Задача вполне актуальная. Есть большой спрос на подобные скрипты, с помощью которых можно было бы полностью передавать данные проекта Вегаса в другие программы, например After Affects, Final Cut, AVID MC и т.д. и поднимать из них обратно в Вегас. Форматы EDL и AAF не решают этой задачи, некоторые данные в них передать нельзя. В XML это возможно.
Так что офтопом был именно ваш пост. На будущее... Слово - не воробей, подумайте прежде чем выпускать его на всеобщее обозрение. :nono:
vladyud, вам спасибо за то, что решили опубликовать этот скрипт здесь. Скриптописателей у нас не так много. Добро пожаловать в тему. :)
vladyud
28.03.2009, 12:56
romamos, благодарю :victory:
В дополнение к скрипту: для его корректной работы необходимо выставить Time Format в Time, т.е. чтобы время было в виде 01:30:15.235.
В зависимости от региональных настроек Windows, тысячные доли секунды могут быть отделены запятой - должна быть точка.
romamos
05.04.2009, 00:39
Несколько скриптов для 8 версии (http://sony.vegas.1.free.fr/)
В этом комплекте скриптов для VP8 от GILLES PIALAT (прямой ход в хранилище: http://sony.vegas.1.free.fr/VP8/ там можно найти еще и ряд скрин-шотов, поясняющих работу скриптов) есть ряд весьма полезных скриптов особенно для тех, кто часто работает с мультикамерой. В частности:
Add New Take To Multicam Project
Automatic Multicam Editing
Sync Events
TakesToTracks
Takes2TracksForCDM_V2
Два последних хочу выделить особо. Они преобразуют мультикамерный трек обратно в набор треков! Причем делать это можно, в т.ч. и на этапе редактуры.
TakesToTracks дает возможность разделять мультикам в разных вариантах: только видео, только аудио, и видео и аудио.
Есть пара моментов. Без аудиодороги (с чистым видео) скрипт работать не будет. Если в окне настроек поставить флажок только на аудио, видео дорога удаляется и в результате остаются только аудио-треки.
Takes2TracksForCDM_V2 просто разделяет мультикамерную аудиодорогу на треки, не трогая видео.
:good:
albert_kes
15.04.2009, 07:01
Add New Take To Multicam Project
romamos А Вы разбирались с этим скриптом? Может подскажите что к чему?
Ещё один скрипт New Deshaker (http://homepage.ntlworld.com/a.edmiston/deshaker.htm)
romamos
15.04.2009, 16:09
romamos А Вы разбирались с этим скриптом? Может подскажите что к чему?
Да, в общем-то - все просто. Скажем, у вас есть мультикамерный проект из трех "камер". Вы решили, что вам, для создания шедевра не хватает еще одной "камеры". Затягиваете видеофайл в существующий проект, запускаете скрипт и ... получаете 4-х камерный мультик.
Есть пара приятных сервисных моментов. :hel:
Скрипт позволяет выбирать, что хотите добавить: видео, или аудио, или и то, и другое вместе
+ к этому есть возможность выбрать как добавлять "камеру": только в мультикамерный трек, или плюс к этому оставить еще и отдельным треком в проекте.
Подводный камень - если в добавляемой "камере" и мультикамерном треке нет звука, скрипт будет ругаться. :pardon:
albert_kes
15.04.2009, 16:59
А мне он чего-то выдаёт такое
http://s43.radikal.ru/i101/0904/a7/4fcfe880af77t.jpg (http://radikal.ru/F/s43.radikal.ru/i101/0904/a7/4fcfe880af77.jpg.html)
ЗЫ. сейчас добился добавления (в новом треке не было звука). Но... В мультикамерном треке было три дорожки, я думал он добавит четвёртую, а он "тупо объеденил" мультикам и новую дорожку. Может я чего не догоняю?
romamos
15.04.2009, 17:25
Что значит "тупо объединил"? Удалил видео и аудио треки добавляемой камеры с тайм-лайна (эта опция стоит по умолчанию)? Не добавил "четвертую камеру"? Если можно точнее. И обратите внимание на флажки в опциях скрипта.
Мультикам в Вегасе реализован на основе механизма "take" - дублей, который существовал в нем еще в те времена, когда редактор был ориентирован на озвучку фильмов. Через правого мыша на таймлайне можно посмотреть количество takes в мультикамерном треке. Переключение активного (видимого) takes делается клавишей "T", либо выбором там же в динамическом меню.
albert_kes
15.04.2009, 17:42
Что значит "тупо объединил"
Было так
http://s49.radikal.ru/i125/0904/fa/e3610f3b137dt.jpg (http://radikal.ru/F/s49.radikal.ru/i125/0904/fa/e3610f3b137d.jpg.html)
стало так
http://s47.radikal.ru/i116/0904/9d/1d688d1ce16ft.jpg (http://radikal.ru/F/s47.radikal.ru/i116/0904/9d/1d688d1ce16f.jpg.html)
если он так работает, то это не хорошо. Пробовал все галочки... результат один
.
romamos
15.04.2009, 17:53
Нет работает не так. Добавляет четвертую камеру.
Создаем 3-хкамерный мультик:
http://s58.radikal.ru/i162/0904/cc/825f24b43f64.jpg
Добавляем на тайм-лайн видеофайл:
http://s59.radikal.ru/i163/0904/dc/03a778fff09e.jpg
Запускаем скрипт с дефолтовыми установками - process - получаем:
http://s43.radikal.ru/i101/0904/c7/a08b876e39f9.jpg
Если хотим сохранить "новую камеру" на тайм-лайне, после запуска скрипта, не нажимая кнопку "process", снимаем флажок в поле "Remove...":
http://s47.radikal.ru/i117/0904/65/02ac66679f27.jpg
Жмем "process", получаем:
http://s56.radikal.ru/i151/0904/24/7f6bda15aa49.jpg
ps Есть еще одна особенность, о которой, пардон, сразу не упомянул. Может быть дело в ней. Скрипт корректно работает, если трек "новой камеры" начинается одновременно с мультикамом (попробуйте все поставить в начало проекта). Если event ставится позже, то добавление происходит как-то "по хвосту" мультикама. Точный алгоритм работы в данном случае пока описать не могу.
albert_kes
16.04.2009, 03:01
Ура! получилось! Надо было ставить новый эвент ниже мультикама (и обязательно чтобы была звуковая дорожка), а я ставил на верхнюю дорожку.
Спасибо! http://s49.radikal.ru/i125/0904/28/999422e2a1dc.gif (http://www.radikal.ru)
altarvic
05.05.2009, 07:46
Vegas Quake 8 (http://homepage.ntlworld.com/a.edmiston/vegasquake.htm)
Video Wall for Sony Vegas (http://provegas.ru/forum/showpost.php?p=14775&postcount=156)
proVegas.ru
05.05.2009, 09:23
Video Wall for Sony Vegas
Искать здесь: Меню View -> Extensions
Еще обновка:
New Deshaker (http://homepage.ntlworld.com/a.edmiston/deshaker.htm) (стабилизатор видео)
Получается некоторое дублирование одной и той же информации в теме Все плагины Vegas ... (http://provegas.ru/forum/showthread.php?t=17&page=6) и здесь. Возможно, это и к лучшему
.
greenmar
28.05.2009, 08:20
Друзья, нужен скрипт изменяющий Undersample rate выделенных эвентов. Ни у кого нет такового?
romamos
31.05.2009, 12:15
Если мне не изменяет память, такая фича есть в Excalibur Эдварда Троксела. Отдельный скрипт, если попадется на глаза, выложу. Вообще говоря, этот процесс (если требуется синхронное изменение для выделенных event-ов) в три клика делается через изменение Undersample rate для одного и "копирование свойств event-а" (Paste event attributes) для всех остальных.
albert_kes
31.05.2009, 12:42
Excalibur 6 (http://www.jetdv.com/excalibur/home.php)
greenmar
11.06.2009, 18:12
Если мне не изменяет память, такая фича есть в Excalibur Эдварда Троксела. Отдельный скрипт, если попадется на глаза, выложу. Вообще говоря, этот процесс (если требуется синхронное изменение для выделенных event-ов) в три клика делается через изменение Undersample rate для одного и "копирование свойств event-а" (Paste event attributes) для всех остальных.
а как быть, если нужно только один из параметров скопировать в другие эвенты и при этом не затронуть не Velocity, ни FX и никакие другие? Только скриптинг... :(
jurisviii
11.06.2009, 23:30
Только скриптинг...не только - продуманный план монтажа тоже подходит
romamos, спасибо за тему.
Есть вопрос по скрипту Make sfl vegas.
Насколько я понимаю, параметры Total markers и Missed markers - это общее количество маркеров в проекте и количество, которое будет помещено в .sfl файл. Как сделать, чтобы Missed markers был отличным от нуля? Надо как-то указать нужные маркеры? У меня при каждой попытке создать .sfl файл это значение равно 0, наверно поэтому Архитект не находит в созданных файлах никаких маркеров.
romamos
06.08.2009, 00:30
yankee, не совсем понял о каких параметрах идет речь. Настройки самого скрипта? Может мы говорим о разных скриптах, или вариантах. Сделайте скриншот.
Я пользую этот (http://narod.ru/disk/2377134000/Make_SFL_Vegas_Script.rar.html). Ему настройки количества маркеров не требуются.
Может мы говорим о разных скриптах...Я пользую этот.
Это тот же, что и у меня. И, как выяснилось, оба работают. Что изменилось с прошлого раза - не знаю. Ну винда обновилась. Больше ничего не делалось :pzl:.
vital777
15.08.2009, 13:01
И в дополнение несколько полезных ссылок на авторские страницы и архивы со скриптами:
Пакет скриптов со своим оригинальным GUI (исходные коды зашиты в dll-ки) от Gilles (ник на офсайте – Rosebud) с возможностью настройки параметров после запуска:
Video Strobe (эффект стробоскопа, настройка частоты строба от 1 до 10 кадров)
Split Audio Channels (разделение аудио-дорожки на правую и левую. Полезно например, в случае, когда из записи надо убрать звук "пушки")
Video Slide (перемещение картинок по площади кадра с возможностью настройки направления и скорости движения, а также размера оных)
Video Zoom (эффект "наезда" на объект с возможностью выбора траектории и пауз "в пути")
Все скрипты можно взять здесь (28кБ).
Добрый день. Я только начинаю пользоваться сони вегасом. В скриптах не могу вообще разобраться и понять как с ними работать. А нужен эффект страбоскоб. Если он выложен по вышеуказанной ссылке, то как его установить? Скачиваю файлы dll, а что с ними делать дальше? Подскажите пожалуйста.
albert_kes
15.08.2009, 13:41
Скачиваю файлы dll, а что с ними делать дальше?
Файлы нужно положить сюда:
C:\Program Files\Sony\Vegas Pro 8.0 (9.0)\Script Menu
Потом их можно найти здесь:
http://s11.radikal.ru/i184/0908/26/3a2c1463e9e9t.jpg (http://radikal.ru/F/s11.radikal.ru/i184/0908/26/3a2c1463e9e9.png.html)
jurisviii
15.08.2009, 13:41
F1 -> Search -> впиши "Scripting"
нужен эффект стробоскоб
ПКМ на видеофрагменте, Properties, изменить Undersample Rate
.
romamos
15.08.2009, 15:43
Это - разные "стробы". Тот, что предложил GS1966 - эффект "дискретного движения", а тот, что реализуется скриптом - эффект "моргания" картинки.
vital777
16.08.2009, 15:23
Спасибо, что не оставили без внимания, буду пробовать, только у меня русифицирован Вегас, но я думаю разберусь.
vital777
20.08.2009, 14:08
ПКМ на видеофрагменте, Properties, изменить Undersample Rate
.
Делаю как написано, но ничего на видео не изменяется, что не так?
vital777, возможно выбирали значения, близкие к 1. Попробуйте менее 0,5
.
Maxundel
26.09.2009, 14:13
Коллеги, не подскажете, какой скрипт разделит стереоканал на 2 отдельных (точнее - мне всегда нужен только левый). Split channels почему-то не работает.
Спасибо
albert_kes
26.09.2009, 17:04
А чем не устраивает режим "только левый канал"?
http://s44.radikal.ru/i106/0909/df/8a018180d468t.jpg (http://radikal.ru/F/s44.radikal.ru/i106/0909/df/8a018180d468.png.html)
Maxundel
26.09.2009, 17:43
Так вот я только так и делаю...
Но муторно каждый раз, если в проекте таких кусков штук 20- 30.
Хотя всё это - дело привычки ))
Правда, давно уже так монтирую, но никак не привыкну, а хочется всё автоматизировать. Уж очень мне понравился скрипт "AdjustDictorVolume" (http://provegas.ru/forum/showpost.php?p=5079&postcount=4)
albert_kes
26.09.2009, 18:19
Ну так выделить всё и оставить только левый канал. Я так и делаю, у меня очень много кусочков бывает
Maxundel
26.09.2009, 18:26
В принципе -да, зачем изобретать велосипед?! ))
Nikanor
06.11.2009, 10:09
Удаляет выделенный кусок со всех треком. Антоним команды inser time.
К сожалению, delete empty space event - удаляет все пустоты на выделенных треках, но не совсем подходит для синхроннного удаления пустоты с сдвигом всех треком. Надеюсь вы меня поняли. Заранее благодарен.
Beast2537
06.11.2009, 10:39
у Nikanor первый пост, что-то ник знакомым показался. Nikanor, добро пожаловать на наш форум!
Эмм, а чем не устраивает Auto Ripple (All tracks) [CTRL+L] -> выделение -> клавиша Del
albert_kes
06.11.2009, 10:41
Вам нужно включить Auto Ripple (Ctrl+L) и не забудте выбрать то что будет сдвигаться.
http://s50.radikal.ru/i130/0911/7b/2121f1a9b935.png (http://www.radikal.ru)
Beast2537:drinks:
Nikanor
10.11.2009, 14:03
RemoveAllEfect у меня не работает, на 8-м Вегасе. В чем дело?
altarvic
10.11.2009, 14:40
Могу привести массу причин.
Nikanor
10.11.2009, 20:02
Могу привести массу причин.
Скрипт нормальный скачанный с Интернета, но не работает RemoveAllEffects.js Другие скрипты, к примеру, DeleteEmptySpaceBetweenEvents.js работает.
Установлен Microsoft NET Framework 3.0 и 2.0 видно в установке/удаление программ.
Помогите!!!
altarvic
10.11.2009, 21:51
Для начала, что значит не работает? Ошибку выдает или просто ничего не делает?
В этой теме есть этот скрипт, который точно работает.
Nikanor
11.11.2009, 12:05
Просто ничего не делает.
altarvic
11.11.2009, 12:28
1) Нужные эвенты-то выбраны?
2) Какой результат вы сами хотите видеть?
3) Я так и буду все из вас вытягивать?
Nikanor
11.11.2009, 16:43
Выделяю события на всей дорожке, а затем запускаю скрипт, ошибок ни каких не выдает, но результат нулевой.
Я хочу видеть удаление переходов между событиями в выделенной области.
altarvic
11.11.2009, 17:52
Тогда этот скрипт не тот, который вам нужен. Он удаляет видеоэффекты (Event FX)
Для удаления переходов нужно искать другой. Если с английским в порядке, то можно поискать например здесь (http://www.jetdv.com/vegas/forum/index.php) Или например здесь (http://tinyurl.com/ydjcr48) ;)
Возможно Ultimate Pro 4.1 ot Vasst может это...
требуется регистрация для Download'a демо версии (http://www.vasst.com/downloads/resources/vasst-software-updates-and-trials.html)
танкист
02.12.2009, 02:19
RemoveAllEfect у меня не работает, на 8-м Вегасе. В чем дело?
У меня на 9-м тоже не работает.Вот че говорит:
C:\Program Files\Sony\Vegas Pro 9.0\Script Menu\RemoveAllEffects.cs(11) : Пространство имен напрямую не включает в себя таких членов, как поля или методы
C:\Program Files\Sony\Vegas Pro 9.0\Script Menu\RemoveAllEffects.cs(21) : Ожидался класс, делегат, перечисление, интерфейс или структура
C:\Program Files\Sony\Vegas Pro 9.0\Script Menu\RemoveAllEffects.cs(26) : Ожидался класс, делегат, перечисление, интерфейс или структура
C:\Program Files\Sony\Vegas Pro 9.0\Script Menu\RemoveAllEffects.cs(34) : Ожидался класс, делегат, перечисление, интерфейс или структура
C:\Program Files\Sony\Vegas Pro 9.0\Script Menu\RemoveAllEffects.cs(36) : Ожидалось определение типа или пространства имен, либо признак конца файла. Че это такое???? Help me .........
Как сюда скрин прилепить????????? :wck:
jurisviii
02.12.2009, 02:26
Дело в том, что разные версии вегаса для исполнения скриптов использует также разных версий .net Framework, потому нужно сочинить или переписать скрипта в соответствии с платформой, на которой его будет использовать.
Как сюда скрин прилепить?
Залить на радикал.ру или аналогичный ресурс
.
танкист
02.12.2009, 12:40
Дело в том, что разные версии вегаса для исполнения скриптов использует также разных версий .net Framework, потому нужно сочинить или переписать скрипта в соответствии с платформой, на которой его будет использовать.
Люди добрые,есть кто понимает в програмирование (точнее,кто нибудь сможе мне помочь со скриптом)? :pzl:
Подскажите что нибудь что бы выключать автоматически компьютер после пакетного рендеринга в Vegas 9. Пока пользую Batch Render но галочки на выключение не хватает. Пробовал ставить RenderQueueShutDown выдает ошибку при загрузке скрипта... Заранее спасибо...
Для этого есть замечательная програмуля PowerOff, кроме разного рода выключалок - таймеров и напоминалок в ней есть и CPU зависимый таймер.
Выставляешь чувствительность таймера например на 5% загрузки CPU, ставишь галку в чекбокс окна таймера и идёшь заниматься чаепитием или отдыхать, станция сама выключится или уйдёт в спящий режим (выбираешь по желанию) после достижения 5%-ного порога чувствительности, также можно выставить временной порог чувствительности CPU зависимости программы.
ЗЫ. Для работы с вегасом и прочим софтом требующим при закрытии сохранение в тип проекта, в настройках PowerOff надо проставить птицу в чекбоксе "Принудительно закрывать приложения".
Вобщем ценная вещица, как понимаете из вышесказанного программа годится для операций выключения связанных с любым программновычислительным приложением, на чём и рекомендую.
albert_kes
26.01.2010, 19:19
Proxy Stream1.5b is available for VP9 (http://sony.vegas.1.free.fr/):
-Proxy Stream 1.5b works with VP9 only.
-Added ability to anable/disable Switches (Resample, Maintain Aspect Ratio and Reduce Interlace Flicker).
-Proxy file have same creation time and last write time attributs as source file. So you can use SVDTS script from Paavo Jurvelin with proxy files
direktor_mira
27.01.2010, 13:16
Не получается запустить ни один скрипт. Vegas Pro 8.0 выдает ошибку:
http://www.10pix.ru/img1/4189/743298.th.jpg (http://www.10pix.ru/view/4189/743298/)
Подскажите, пожалуйста, как быть?
altarvic
27.01.2010, 13:23
Многие скрипты требуют, чтобы версия Вегаса была не ниже какой-то определенной. В вашем случае нужно поставить Vegas 8.0c
direktor_mira
27.01.2010, 13:37
У меня установлена Sony Vegas Pro 8.0c
Не запускаются скрипты даже те, которые уже установлены в программе.
тов. директор, каким способом (кроме :Flog: (трындюлины)) можно убедить пользователя в том, что предущее сообщение цитировать не нужно, и тем более полностью? Вполне достаточно вставить в ответ ник собеседника.
Оверквот (http://provegas.ru/forum/showthread.php?t=287) - на уважающих себя ресурсах деяние наказуемое
Задолбали уже... Сами превращаете форум в помойку, а потом жалуетесь - "ничо найти не могу", и нарываетесь на :moder:
============================
Странно, что
Не запускаются скрипты даже те, которые уже установлены в программе
Винда нормальная, не сборка ?
Вегас случайно не "портативный" ?
Инсталлятор Вегаса где брали, на офсайте, или по случаю ?
Работало, и с какого-то момента перестало работать (если да, то с какого момента, после чего - установка какого-то софта, лечение после вируса и тд)
.
altarvic
27.01.2010, 14:03
в тексте ошибки мелькает версия 7.0 - явная хрень. Проверьте версию файла sony.vegas.dll - должна быть 8.0.0.260
direktor_mira
27.01.2010, 14:16
GS1966
Извиняюсь. За цитирование. Буду аккуратнее.
Винда - сборка.
Вегас брал по случаю и он не портативный.
А скрипты не работали при первой же попытке их запустить.
altarvic, проверил версию файла sony.vegas.dll
Версия правильная - 8.0.0.260
altarvic
27.01.2010, 14:42
а семерка стоит?
direktor_mira
27.01.2010, 14:50
altarvic, семерка не установлена... Установлена восьмерка. В этом проблема?
altarvic
27.01.2010, 15:12
Возможное решение - наберите в Эксплорере (клавиша Win+R) C:\Windows\Assembly и нажмите ввод. Найдите и убейте все записи Sony.Vegas (осторожно, другого не поудаляйте :) ) Перезапустите Вегас, проверьте.
Да! И результатом не забудьте поделиться!
direktor_mira
27.01.2010, 16:02
altarvic ни одной записи Sony.Vegas нет по указанному пути :(
altarvic
27.01.2010, 16:13
ну тогда остается только снести все проги Sony, почистить комп,
переустановить .NET Framework и Вегас
Константин Смирнов
13.02.2010, 12:26
Подскажите, пожалуйста, в каком направлении рыть:
Хочу влезть в процесс вывода картинки через Video Preview window. Как добраться до этого? Возможно ли это сделать обычными скриптами или нужно писать Extension script? Или это может сделать только плагин, тогда где взять SDK для написания плагинов для вегаса?
altarvic
13.02.2010, 14:41
Через скрипты возможно снять скриншоты проекта, не более. Extension - это тоже скрипт, просто с возможностями более глубокой интеграции в интерфейс Вегаса. Можно ли через SDK (http://download.sonymediasoftware.com/dev/) (scs_videopidk.zip) не в курсе. Подробнее, что хотите получить?
Константин Смирнов
14.02.2010, 14:18
Хочу, имея данные, предназначенные для вывода видео (массив байт), преобразовать их к нужному мне виду. Это нужно для редактирования и просмотра двух (и более)-дорожечного видео в режиме стерео (анаглиф). Эффекты накладываются только на одну дорожку (или если их сгруппировать, то данные из одного трека не доступны для эффекта с другого трека). Единственный буфер, содержащий всю информацию, поступает в окно просмотра (Preview Window). Поэтому нужно получить доступ к этому буферу (по аналогии с директшоу - написать свой рендерер)
romamos
14.02.2010, 14:34
Скриптовый SDK для Вегаса можно найти здесь: http://download.sonymediasoftware.com/dev/
а здесь: http://www.wonderfulworld.ru/tutorials/tutorials.html - тутор по написанию скриптовых плагинов.
altarvic
14.02.2010, 15:45
посмотрите плагин (http://provegas.ru/forum/showpost.php?p=27657&postcount=297)
так что думаю что это возможно
Константин Смирнов
14.02.2010, 20:54
Спасибо, ребята! Этот плагин практически то - что я хотел сделать. Но я разберусь, как сделать свой эффект для Video output FX.
Как его установить в Вегас 9С ?
romamos
22.02.2010, 16:49
Как и всё остальное, двойной клик на *.msi
johnkorn
21.03.2010, 12:40
Добрый день всем. Подскажите, как (или каким скриптом) можно сделать массовую обработку фотографий на таймлайне. их более ста штук, надо им всем сократить длину с 5 секунд до 0,5.
заранее спасибо.
johnkorn, добро пожаловать, :)
Скрипт называется New still image length, находится здесь:
Options - Preferences - закладка Editing
.
LeonidLZ
22.03.2010, 10:36
Если кто то "занимался" иконками под скрипты для корректного отображения в 9-ке,выложите пожалуйста....
albert_kes
22.03.2010, 13:53
16 x 16 png , можно с альфаканалом
skylight
03.04.2010, 19:17
Привет
ищу такие скрипты:
1.обрезка выделенных евентов с конца на n кадров или секунд
нашел обратный скрипт
Delete n frames from start of event.js тока вот разобраться как переделать мозгов нет..
2.автоматический кросфейд выделенных евентов
спасибо
Скрипт DeleteEmptySpaceBetweenEvents удаляет пустые места между event-ами на выделенных треках.
попробовал скрипт DeleteEmptySpaceBetweenEvents
получился не сдвиг евентов а их заполнение
ниче не понял...
http://s3.amazonaws.com/floomby/4_3_2010/D29YpyaQ20eQdLFKjoGNLg_Thumbnail.jpg (http://floomby.ru/content/ITOGemLdD0/)
progreccor
03.04.2010, 21:12
Ставь Vegas Pro Production Assistant (http://www.sonycreativesoftware.com/vegasproassist)
он все это умеет. И еще перехлесты умеет ставить. Ну и много всего.
Если не разберешься - объясню как работает. Где лекарство - сам знаешь... ;-)
romamos
05.04.2010, 18:34
skylight, ось - Win7 x64? В ней, действительно, этот скрипт работает некорректно. В ХР все работает как положено.
skylight
08.04.2010, 16:21
Ставь Vegas Pro Production Assistant (http://www.sonycreativesoftware.com/vegasproassist)
он все это умеет. И еще перехлесты умеет ставить. Ну и много всего.
Если не разберешься - объясню как работает. Где лекарство - сам знаешь... ;-)
спасибо на днях посмотрю!!! отпишусь
skylight, ось - Win7 x64? В ней, действительно, этот скрипт работает некорректно. В ХР все работает как положено.
Win7 32 у меня
romamos
09.04.2010, 12:12
У меня, к сожалению, нет возможности проверить работу скрипта в Win7 32bit, видимо, это проблема в обеих версиях Win7.
altarvic
09.04.2010, 13:29
попробуйте в этом скрипте строку
evnt.AdjustStartLength(tracktime,evnt.Length,true) ;
заменить на
evnt.Start = tracktime;
romamos
09.04.2010, 16:07
:clapping: Все работает как положено. (VP9c x64, Win7 x64) :good:
LeonidLZ
10.04.2010, 08:56
romamos
Подскажите,что ещё из плаг-инов работает корректно в Win7(64)...?
skylight
10.04.2010, 20:28
Ставь Vegas Pro Production Assistant (http://www.sonycreativesoftware.com/vegasproassist)
он все это умеет. И еще перехлесты умеет ставить. Ну и много всего.
Если не разберешься - объясню как работает. Где лекарство - сам знаешь... ;-)
поставил появилось в меню пару скриптов в Vegas 9:
автоматический кроссфейд выделенных евентов -там есть
а вот обрезка выделенных евентов с конца на n кадров или секунд -Нету... ((
попробуйте в этом скрипте строку
evnt.AdjustStartLength(tracktime,evnt.Length,true) ;
заменить на
evnt.Start = tracktime;
заменил тут DeleteEmptySpaceBetweenEvents
помогло. :bravo:
Установил UltimateS 3 включил логику и сделал обрезку всех евентов с конца на 10 сотых секунды с помощью простых действий в UltimateS...
резал маркерами
удалял Find events smaller than 00:00:00;10
удалил пустоту DeleteEmptySpaceBetweenEvents
делал кроссфейды в 1 сек
получился почти автоматический монтаж))
romamos
12.04.2010, 15:57
romamos
Подскажите,что ещё из плаг-инов работает корректно в Win7(64)...?
Кроме это еще важно какая версия Вегаса (32 или 64). Все плагины, для которых существуют 64 bit версии, имеют также и 32 bit версии. Те, у которых есть лишь 32 bit, Вегас х64 просто не увидит, а в Вегасе 32 bit работает абсолютное большинство плагинов. Но, вообще говоря, по плагинам на форуме существует специальная тема.
ps Debugmode FrameServer на Win7 x64 лично мне корректно завести так и не удалось. :(
Всем добрый день.
Интересует следующее: Имеется проект с туевой хучой клипов. Режиссёр мне говорит, тайм-код такой-то, а вот в каком он куске не помню. Существует ли скриптец, который по времени выдал мне номера клипов? Стандартный поиск не подходит. Он только начало-кончало ищет.
altarvic
04.05.2010, 07:28
Detailed View в окне Project Media + сортировка по полю Timecode In ?
Не пойдёт. Это я буду вместо работы вычислять, в какой же диапазон попадает этот тайм-код. Нужно найти именно между In и Out.
Андрей Ком
07.05.2010, 10:23
Здравствуйте!
Потребовалось нарезать видео файл на равные части, такой скрипт найти не смог. Прошу помощи.
Вегас 9d
albert_kes
07.05.2010, 15:32
Читайте внимательно. http://provegas.ru/forum/showpost.php?p=5191&postcount=6
Андрей Ком
07.05.2010, 17:05
Читал, ставил, пробовал. Мне надо просто разрезать файл на равные части, без промежутков между "отрезами". Возможно я не понял как это сделать с помощью Barronizer_10, Если это так то прошу Вас объяснить как разрезать файл на равные части с помощью Barronizer_10.
С уважением, Андрей
не могу представить себе такой потребности
но всё-таки, если:
"Inter-Jump Length" - промежуток между "отрезами" = 0?
albert_kes
07.05.2010, 18:15
Андрей Ком, скрипт так устроен, что хоть 1 кадр (в окнах указываются кадры), но нужно выставить, а чтобы не было дырок выбрать "собрать к началу, или к концу"
Роман Д.
03.06.2010, 10:17
Всем здравствуйте.
В соседней ветке есть плагин SVDTS, который умеет вставлять в текстовые медиафайлы информацию о датах видео или фоток, выложенных на какой-нибудь дорожке. Там можно извлекать дату из имени файла только если оно имеет вид 14-значного числа типа "YYYYDDMMhhmmss". У меня файлы с именами типа "YYYYMMDDhhmmssfff", где fff - миллисекунды, и этот плагин уже не помогает. Я решил попробовать написать похожий скрипт для себя, но сразу наткнулся на проблему - с помощью вегасовских скриптов нельзя менять текст в текстовых медиафайлах (можно только задавать пресеты). Помогите разобраться, как это сделать через пресет?
Спасибо.
altarvic
03.06.2010, 19:59
Через скрипты - никак. SVDTS это делает через динамическое создание и правку пресетов в реестре, вобщем через ж..., но по другому никак.
Насколько я помню SVDTS извлекает дату не из имени файла, а из метаданных (если они доступны, иначе берется дата создания файла).
Роман Д.
03.06.2010, 20:15
Жаль... такое мне не по зубам :( в версии 2.40 (последней) можно и из имени файла, написать чтоли этому чуваку, который написал SVDTS, чтоб выпустил апдейт...
montager
09.06.2010, 14:52
нужен скрипи для создания эффекта стоп кадра
Руками - сложно (http://provegas.ru/forum/showpost.php?p=25212&postcount=7) ?
.
romamos
Ещё один скрипт New Deshaker (http://homepage.ntlworld.com/a.edmiston/deshaker.htm)
а можно узнать как с ним работать в вегасе? Я только недавно научился кое как его применять в виртуал дабе, а вот в вегасе непойму как его заставить работать...
И еще вопрос попроще: подскажите хороший скрипт для автоматической генерации переходов, мне нужно чтоб использовались не все переходы, а только те которые я выберу.
altarvic
01.07.2010, 07:45
подскажите хороший скрипт для автоматической генерации переходов
Бесплатных нету, из платных удобнее всего (для меня) это Quick Properties (http://vegasaur.com/quick-properties) (если щелкнуть на маленькой картинке справа, то можно посмотреть как выглядит интерфейс)
proVegas.ru
05.08.2010, 22:01
Изменяет скорость воспроизведения медиа с 30.0 fps до стандартного значения 29.97 к/с
Полезен владельцам фотокамер, умеющих снимать видео (типа EOS 5D Mark II)
//************************************************** **************************
//* Program: Fix30pMedia.cs
//* Author: John Rofrano
//* Description: This script changes the playback rate of 30p media to 29.97
//* Created: July 25, 2010
//* Updated: Jul 28, 2010 (JR) Added Disable Resample
//* Aug 4, 2010 (JR) Changed audio to match video
//*
//* Copyright: (c) 2010, Sundance Media Group / VASST. All Rights Reserved
//************************************************** **************************
using System;
using System.Collections;
using System.Windows.Forms;
using Sony.Vegas;
class EntryPoint
{
public void FromVegas(Vegas vegas)
{
int counter = 0;
try
{
foreach (Track track in vegas.Project.Tracks)
{
if (!track.IsVideo()) continue;
foreach (VideoEvent videoEvent in track.Events)
{
VideoStream videoStream = videoEvent.ActiveTake.MediaStream as VideoStream;
decimal frameRate = Math.Round((decimal)videoStream.FrameRate, 2);
// only affect 30fps media
if (frameRate == 30.00m)
{
videoEvent.AdjustPlaybackRate(0.999, true);
videoEvent.ResampleMode = VideoResampleMode.Disable;
counter++;
// check for audio in the same file and change it too
if (videoEvent.IsGrouped)
{
foreach (TrackEvent trackEvent in videoEvent.Group)
{
if (!trackEvent.IsAudio()) continue;
// see if they are from the same file
if (trackEvent.ActiveTake != null && trackEvent.ActiveTake.MediaPath.Equals(videoEvent. ActiveTake.MediaPath))
{
AudioEvent audioEvent = trackEvent as AudioEvent;
audioEvent.AdjustPlaybackRate(0.999, true);
}
}
}
}
}
}
// let the user know we are done
MessageBox.Show(String.Format("{0} events changed", counter), "Complete", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception e)
{
MessageBox.Show(e.Message, "Unexpected Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
}
}
Оригинал здесь (http://www.johnrofrano.com/vegasscripts.htm)
.
six_pence
22.09.2010, 23:46
Подскажите пожалуйста, как можно вставить между эвентами на таймлайне(их может быть до 1000) , интервал скажем в 5 секунд?
romamos
25.09.2010, 16:43
В Excalibur есть такая возможность, или надо поискать скрипт с названием в котором фигурирует что-то типа "create gaps".
albert_kes
07.10.2010, 11:06
Нужна помощь знающих язык скриптов.
Мне нужно чтобы скрипт ставил альфаканал, нижнее поле первое и Pixel Aspect Ratio - 1,0926 (PAL DV). Я смог сам добавить строку изменения поля, а вот Pixel Aspect Ratio прописать не получается (не знаю как он пишется).
вот скрипт
//************************************************** ***********************
//* Program: SetAlphaChannel.cs
//* Author: John Rofrano
//* Description: This script sets the alpha channel for selected events
//* Last Updated: July 6, 2010
//* Copyright: (c) 2010, Sundance Media Group/VASST, All Rights Reserved
//************************************************** ***********************
using System;
using System.Collections;
using System.Windows.Forms;
using Sony.Vegas;
class EntryPoint
{
public void FromVegas(Vegas vegas)
{
try
{
foreach (Track track in vegas.Project.Tracks)
{
if (!track.IsVideo()) continue; // only process video tracks
foreach (TrackEvent trackEvent in track.Events)
{
if (trackEvent.Selected && trackEvent.ActiveTake != null)
{
VideoStream videoStream = trackEvent.ActiveTake.MediaStream as VideoStream;
videoStream.AlphaChannel = VideoAlphaType.Premultiplied;
videoStream.FieldOrder = VideoFieldOrder.LowerFieldFirst;
}
}
}
}
catch (Exception e)
{
MessageBox.Show(e.Message, "Set Alpha Channel Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
есть скрипт, который меняет аспект, может их можно объеденить?
/**
* Program: ChangeMediaPoolAspectRatio.js
* Description: This script will change the aspect ration of all the video media in
* the project's media pool to match that of the project.
* Author: Johnny (Roy) Rofrano john_rofano@hotmail.com
*
* Date: March 28, 2004
**/
import System.Windows.Forms;
import Sony.Vegas;
// Get the aspect ration of the project
var aspectRatio = Vegas.Project.Video.PixelAspectRatio;
var counter = 0;
try
{
for (var media in Vegas.Project.MediaPool)
{
// only add the effect if the media object has a video stream.
if (media.HasVideo())
{
// get the video stream
var video : VideoStream = media.Streams.GetItemByMediaType(MediaType.Video,0 );
// Set the aspect ratio
video.PixelAspectRatio = aspectRatio;
counter++;
}
}
MessageBox.Show(counter + " Video stream(s) changed to " + aspectRatio);
}
catch (errorMsg)
{
MessageBox.Show(errorMsg, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
У меня плашка (подложка под титры) QT, без компрессии - Вегас не сохраняет настройки для него и каждый раз приходится залазить в свойства...
попробуй:
videoStream.PixelAspectRatio = Vegas.Project.Video.PixelAspectRatio;
(использовал только эти два примера, не знаю будет ли правильно работать)
altarvic
07.10.2010, 12:21
Ну, наверное нужно добавить строку:
VideoStream videoStream = trackEvent.ActiveTake.MediaStream as VideoStream;
videoStream.AlphaChannel = VideoAlphaType.Premultiplied;
videoStream.FieldOrder = VideoFieldOrder.LowerFieldFirst;
videoStream.PixelAspectRatio = 1.0926;
igode2007
07.10.2010, 12:22
...Ещё один скрипт New Deshaker...а можно узнать как с ним работать в вегасе..
может это (http://www.ixbt.com/divideo/digital-video-guide/5-2-1-stabilization.shtml) поможет?
albert_kes
07.10.2010, 13:06
videoStream.PixelAspectRatio = Vegas.Project.Video.PixelAspectRatio;
"Для не являющегося статическим поля, метода или свойства "Sony.Vegas.Vegas.Project.get" требуется ссылка на объект"
videoStream.PixelAspectRatio = 1.0926;
Уррра!!!! altarvic, спасибо!!:bravo:
А я с этими циферами всё перепробовал, кроме как точку поставить:crazy:
LeonidLZ
08.10.2010, 09:19
albert_kes
В свободный доступ получившийся скрипт не выложите?
albert_kes
08.10.2010, 10:02
Да без проблем:
SetProperties.rar (http://narod.ru/disk/25799699000/SetProperties.rar.html)
Возможно редактирование (Notepad++) строк:
28. videoStream.AlphaChannel = VideoAlphaType.Premultiplied;
29. videoStream.FieldOrder = VideoFieldOrder.LowerFieldFirst;
30. videoStream.PixelAspectRatio = 1.0926;
Maxundel
08.10.2010, 11:27
может это (http://www.ixbt.com/divideo/digital-video-guide/5-2-1-stabilization.shtml) поможет?
Вроде всё делаю как надо... ))
Установил VirtualDub, установил Deshaker
В вегасе появилась славная иконка D
Выделяю клип, нажимаю D
Vegas спрашивает скрипт с расширением vds, а там vdf, в чем разница?
Направляю на vdf, начинает вроде что-то рендерить - и фиг.
В конце просчёта выдает ошибку (http://pics.livejournal.com/maxundel/gallery/0000rdg5)
romamos
09.10.2010, 01:30
Maxundel, пользуйте лучше это: http://www.vegasvideo.de/plugins/104-deshaker-interface-for-sony-vegas-pro.html
то же самое, только возни меньше. Есть правда одно "но":
"Deshaker Interface 2.0.1 was tested with Sony Vegas Pro 8 (32 bit) und Sony Vegas Pro 9 (32 bit) on Windows XP and Windows 7. At this time Deshaker Interface does not work with the 64 bit versions of Sony Vegas Pro."
ps Где-то на форуме о нем уже писалось.
LeonidLZ
09.10.2010, 10:18
albert_kes
Спасибо,подскажите как правильно прописать в скрипт Straight(unmatted) вместо Premultiplied ? С кавычками или как?
Maxundel
09.10.2010, 11:24
romamos
Большое и человеческое!
Работает
albert_kes
09.10.2010, 18:23
как правильно прописать в скрипт Straight(unmatted)
Просто:
videoStream.AlphaChannel = VideoAlphaType.Straight;
AntonChik
02.11.2010, 08:31
слегка модифицированный стандартный скрипт Batch Render
обзывает файлы по типу:
Базовое имя файла + номер региона + имя региона + расширение
может кому пригодится)
Воспользовался вашим скриптом, спасибо - имена регионов пишет исправно. Но с 10-кой после просчёта (12 регионов-35 минут) случился приступ - сообщение об ошибке и No Send - закрытие программы. А отрендерил всё исправно.
Здравствуйте. Если кто пользовался опишите пожалуйста как пользоваться скриптом Stereo to Surround (http://sony.vegas.1.free.fr/) и для чего он существует? Интуитивно понимаю что для псевдо 5.1 из изначального стерео, прав ли я?
Там в аннотации написано, что его Proxy Stream скрипт импортирует HD видео со стереозвуком, в то время как звук в HD чаще 5.1 Этот скрипт разделяет звук на многоканальный. Надо выделить звуковой фрагмент, создать три пустых звуковых дорожки и запустить скрипт, после чего вручную выставить объемное панорамирование полученым звуковым дорогам. Если исходный файл содержит не многоканальный звук, то скрипт не работает.
victorsv
28.03.2011, 23:21
Есть ли скрипт для качественного даунскаллинга с AVCHD в DVD
Major_Pronin
07.05.2011, 23:06
Ребята, помогите оформить вот это "evnt.FadeIn.Length = new Timecode(1000);" в скрипт. Пробовал вставлять в тело готовых скриптов, но при запуске выдает ошибку... Как ЭТО должно правильно выглядеть? Спасибо!
Скрипт, открывающий графические файлы в графических редакторах. Работает с:
Photoshop / Illustrator / Corel Draw / After Effects / Digital Juicer fonts / Dg Foto Art.
Установка:
Распаковать нужный архив в папку C/Program Files/Sony/Sony Vegas Pro 10/script menu
Настройка:
Tools -> Scripting -> Open Photohop -> Open Photoshop setting (открыть настройки Photoshop)
Откройте папку, куда установлен Photoshop и выберите значок Photoshop-овского *.ехе
Инструкция по применению:
Затащить фото на таймлайн
Выбрать нужную фотографию, после чего нажать на символ скрипта (photoshop)
Фото откроется в фотошоп, и все вносимые изменения будут переноситься на таймлайн Vegas.
.
Всё установил (у меня Фотошоп Элементс 9), фотка в нём открывается, редактирую. Потом сохраняю, закрываю. В Вегасе появляется Take, но без изменений. Наверно, потому что Элементс, что ли? Надо поколдовать ещё...
Да. Только при установке: Open source можно получить результат с изменениями сохраняя в Элементс как копию, например в ту же папку, а потом только снова затащить на ТЛ или Replace.
Наверное надо сохранить с перезаписью оригинального файла.
Да, получилось, только не с перезаписью оригинального файла, а с перезаписью, самого take. Там получается так: открыл файл в Фотошопе, изменил, жму Сохранить, он открывает ту же папку(исходника), а там уже автоматом стоит этот take, он спрашивает - заменить, говорю - да. И вот после этих операций в Вегасе есть изменённый файл, а исходник остаётся целым. Песня.
интересно, с irfan view работать будет
Dimoney
28.06.2011, 22:12
Искать здесь: Меню View -> Extensions
По поводу VideoWall...
Скачал, запустил, выбрал 9 (у меня 10), не могу найти.
http://s39.radikal.ru/i083/1106/60/692487bfa9c0.jpg
PS. Вегас перезапускал...
Плюньте на него, и забудьте. Руками сделать то же самое несложно, и результат будет красивее, и простора для творчества больше
Насколько помню, Video Wall (http://provegas.ru/forum/showpost.php?p=14775&postcount=152) и в 8м Вегас работал через пень-колоду. Не отображал цветные рамки, еще что-то
Dimoney
29.06.2011, 10:11
Плюньте на него, и забудьте. Руками сделать то же самое несложно, и результат будет красивее, и простора для творчества больше
Идея-то классная, нет?
Есть какой-нибудь урок/пример, или описание как это можно сделать самому? Вегас стоит неделю...
Копать в сторону ПанКроп / ТрекМоушен? Извините, что по русски :)
Насколько помню, Video Wall и в 8м Вегас работал через пень-колоду
Как убрать?:pzl:
Копать в сторону ПанКроп / ТрекМоушен?
Да. Посмотрите здесь (http://provegas.ru/forum/forumdisplay.php?f=60) и эту (http://provegas.ru/forum/showthread.php?t=1045) тему
Куда он устанавливается и как от него избавиться - не помню. Через установка/удаление программ? Если нет, поиском на системном диске С:
Скажите пожалуйста, а если ли в Sony Vegas возможность записать свои действия в виде скрипта (C# скрипт или VB.NET скрипт) ? Примерно так, как это делает Word или Excel при записи макроса? Может есть плагин для этого? Такая возможность была бы хорошим учебником по объектной модели Sony Vegas!
PetyPEN
07.08.2011, 01:34
Коллеги, очень нужен скрипт для рендера. Задача такая:
1. Есть проект, в котором выделены регионы и каждому региону дано имя.
2. Скрипт делает рендер по предустановленным параметрам, причём, каждый регион выводиться в отдельный файл и имя этого файла это имя региона.
Спасибо.
denis_k
07.08.2011, 09:07
имя этого файла это имя региона.
Пост #138 Этой же темы. P.S. Можно было и вернуться на страничку назад.
Используй Vegasaur очень полезный утилит. Она тебе и регионы и по выделениям будет рендереть и в конце ишё и комп выключит
Денис Мищенко
07.09.2011, 15:21
Сделали скрипт для синхронизации MOV и AVCHD файлов на таймлайне основываясь на времени начала записи.
Скачать можно тут http://lovevision.com.ua/MOV_AVCHD_Synchr.cs (правой мышей - Сохранить как...)
Подробнее тут на wedlife (http://www.wedlife.ru/forum/view/?id=14291)
Денис Мищенко
12.09.2011, 18:15
Подскажите скрипт для возвращения аудио к видеоэвенту, если аудио удалено
PS. Спасибо, нашел тут в посте 4 (http://provegas.ru/forum/showpost.php?p=5079&postcount=4)
Dizorder
14.10.2011, 12:40
Подскажите, существует ли способ в меню Tools- Scripting сделать так чтобы существующие там скрипты группировать в подменю? по аналогии с Project Media - Media Bin
romamos
21.10.2011, 12:36
Можно, только ручками. В Win 7 Вегас считывает скрипты из папок:
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu
C:\ProgramData\Sony\Vegas Pro\Application Extensions
*:\My Documents\Vegas Script Menu
*:\My Documents\Vegas Application Extensions
создаете там свои папки и раскидываете в них скрипты. Папки будут появляться в меню Вегаса как подменю.
Если стоят две версии 64 и 32 bit, то, соответственно, надо смотреть папки в *Program Files и *Program Files (x86).
Ярослав Тарканий
23.10.2011, 16:59
Двойное нарушение п. 2.4 Правил форума (http://provegas.ru/forum/showpost.php?p=5786&postcount=1)
спасиб
Ярослав, слепых сдесь нет и правила едины для всех
===
Щелчки можно удалить соневским Noise Reduction (устанавливается вместе с Форжем, либо, если есть желание, приобретается отдельно)
В Вегас по дефолту встроена упрощенная версия - плагин ExpressFX Audio Restoration
.
Ярослав Тарканий
23.10.2011, 17:36
Спасиб за ответ и замечание. Буду знать :)
Ещё такой вопрос: кто пользовался скриптом для автоматического рендеринга по кусочкам "RenderSegs"? Дело в том что он всегда начинает рендерить с начала проэкта.. а нужно чтоб продолжал рендеринг с последнего удачно отрендерившегося кусочка. А то ставлю в mxf и минут 6-8 удаётся просчитать, а в остальных кусках только сам звук без видео кидает(
Спасибо за ответ!)
Привет,друзья!Скажите, а есть ли скрипт для Sony11Pro под названием альфа-канал? Пробовал от 10-ки,но Vegas вылетает.Заранее благодарен.
Я бы не сказал, что он от 10-ки, я им еще на 7-ом пользовался кажется или может 8-ом, но и в 11 работает нормально.
На всякий случай Скрипт (http://files.mail.ru/4RF8ML), который у меня
LeonidLZ
09.11.2011, 10:59
Andrey
Не затруднит все что есть для 10-ки...спасибо.
Не затруднит, тем более что у меня их всего 4, которыми я пользуюсь, было больше, но не нашел применения. 1) AlphaChannel - Straight. 2)Aspectratio, 3) Photo_Snapshot, 4) Export_Markers_for_DVDLabPro. Забрать. (http://files.mail.ru/Y66O6P)
LeonidLZ
11.11.2011, 11:27
Andrey Благодарю...
Переделывал под себя скрипт батч рендер (vegas10), вот часть скрипта, который называет файлы при пакетном рендере:
String filename = Path.Combine(outputDirectory,FixFileName(baseFileN ame));
if (RenderMode.Regions == renderMode) {
int regionIndex = 0;
foreach (Sony.Vegas.Region region in myVegas.Project.Regions) {
String regionFilename = String.Format("{0}[{1}_#{2}]{3}",
filename,
region.Label,
(regionIndex + 1).ToString(),
renderItem.Extension);
В итоге файл получается типа "Путь\имя файла[название региона_#номер региона(с еденицы)].avi"
Подскажите, как сделать, что бы номер региона был спереди, причем с фиксированной длинной (то есть 001, 002,.... 010, 011,... 156 и т.д.)
Вообщем: хочу вот такой результат: путь..\[001]Проект_Регион.avi, [002]Проект_Регион2.avi
Сложности возникли из-за строки filename которая составляется с помощью Path.Combine.
Помогите, плиз, те кто помнит c# или js. Ответы прошу сначала проверять в скрипте а потом писать.
Panteley
19.11.2011, 11:00
:friends:подскажите пожалуйста название скрипта,в котором можно к видеоотрезку автоматически прикрепить аудиофайл,который ранее был отцеплен от этого видеотрека ?
помню я находил его где-то здесь,а сейчас не нашел,а очень надо,спасибо,братья!!!
Maxundel
19.11.2011, 11:05
2 Panteley
RecreateAudioEvents называется
Вот тут (http://provegas.ru/forum/attachment.php?attachmentid=44&d=1220446711)
agapupkin
03.12.2011, 16:46
Парни, подкиньте VegasQuake для Sony Vegas 10, гугл не нашел. Заранее спасибо.
jurisviii
03.12.2011, 18:15
Под 10ку работает этот же старый перекомпилированный для 8ки (http://homepage.ntlworld.com/a.edmiston/downloads/VegasQuake8.exe) - по крайней мере на 32 битах.
mrDobryj
11.12.2011, 20:42
Народ!
Такая задача - на одной дорожке несколько видеофайлов (бывает около 70 фрагментов). Как сделать чтобы каждый фрагмент начинался с фейдера 0.10 секунды и заканчивался таким же фейдером. И между ними был промежуток 0.5 секунды.
Есть ли такие скрипты?
А Export MKVmerge chapters вот от сюда (http://provegas.ru/forum/showpost.php?p=13544&postcount=21), у кого нибудь на 10с x64 работает? Очень нужно. Получаю вот такую ошибку:
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(15) : Syntax error. Write 'var identifier : Type' rather than 'Type identifier' to declare a typed variable
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(16) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(17) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(18) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(19) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(20) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(21) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(22) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(27) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(36) : Expected ',' or ')'
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(36) : Syntax error. Write 'function identifier(...) : Type{' rather than 'Type identifier(...){' to declare a typed function
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(41) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(43) : The list of attributes does not apply to the current context
C:\Program Files\Sony\Vegas Pro 10.0\Script Menu\Export MKVmerge chapters.js(43) : Too many errors. The file might not be a JScript file
jurisviii
17.12.2011, 13:33
Я не применял такого скрипта, но этого (http://provegas.ru/forum/showpost.php?p=13582&postcount=24) поста ты учел?
З.Ы. Судя по профилю автора, скрипт писался под девятку, так что возможно, для десятки его нужно модифицировать.
Да, Time выставлял, эта ошибка именно с учетом написанного. А нет ли подобного скрипта, что бы можно было получить данные о чаптерах расставленных в Sony Vegas в текстовом формате 00:00:00 - название чаптера.
petrovich
23.12.2011, 04:30
Скажите, можно ли применить конкретный эффект перехода ко всем переходам.
Выделить все переходы с помощью клавиши шифт и затащить нужный переход на любой стык
Import Sony Vegas EDL - Скрипт, позволяющий импортировать в After Effects проект из Sony Vegas, сохраненный в формате "EDL Text File". Имеется текстовая инструкция.
здесь (http://narod.ru/disk/36216560001/ImportSonyVegasEDLv001.rar.html)
LeonidLZ
02.01.2012, 10:35
Andrey спасибо...
Поздравляю Всех с Новым годом!!!
Товарищи! если уже где есть ткните носом...
Нужен скрипт который бы делал такую штуку;
на таймлайне порезанное видео, так вот нужно с помощью скрипта отрендерить именно "как порезано"
тоесть если у меня нарезано 20 кусков, то хотелось бы так и отрендерить 20 порезанных кусков!
есть такой скрипт?
Batch Render (http://provegas.ru/2011/08/paketny-proschet-part-i) подайдёт?
в общем да, то что нужно!
только хотелось бы автоматизма, чтоб не расставлять самому рендер регионы, а также как я понял нет возможности настроить формат рендера(например кодеки)
только хотелось бы автоматизма
Vegasaur, инструмент Transcoder (http://provegas.ru/vegasaur/transcoder.htm)
Возможности Production Assistant-а советовать не буду, инструмент своеобразный и не очень понятный
.
это отдельный инструмент я не пойму?
или приблуда к вегасу?
Слово Vegasaur сложно в яндекс/гугл вбить ? http://vegasaur.com/
Прикрутка к Вегас, расширяющая функциональные возможности
Для разовой работы хватит срока действия триала
.
chainick
11.04.2012, 19:43
Товарищи! если уже где есть ткните носом...
Нужен скрипт который бы делал такую штуку;
на таймлайне порезанное видео, так вот нужно с помощью скрипта отрендерить именно "как порезано"
тоесть если у меня нарезано 20 кусков, то хотелось бы так и отрендерить 20 порезанных кусков!
есть такой скрипт?
Такой скипт есть - BatchRender+Events. Я его написал на основе всем известного Batch Render. Пока в нем не реализована поддержка переходов (фейды и дисолвы поддерживает) и захлестов.
Скачать скипт с описанием можно здесь (http://www.mediafire.com/download.php?fd5ywyvnvzdg1mb) или на видеомаксе (http://www.videomax.ru/forum/avchd-c_topic47215_post1361842.html#1361842).
Воможно, после добавления поддержки переходов и захлестов напишу подробный туториал, если, конечно, это кому-то интересно.
alexingor
07.10.2012, 17:15
Друзья, помогите пожалуйста. Очень хочу освоить написание скриптов, но сбился с ног в поисках объектной модели Вегаса. Может быть, есть где-то мануал по сони-скриптописанию? На первой странице данной темы дана битая ссылка на Vegas Scripting FAQs. Может, есть другой источник?
Тут (http://www.captainken.us/misc_files/computer/video_editing/vegas_scripting_faqs.pdf) или тут (http://hghltd.yandex.net/yandbtm?src=F&text=Vegas%20Scripting%20FAQs&url=http%3A%2F%2Fwww.ayizwe.net%2FVegasScripts%2FF AQ.html&fmode=inject&mime=html&l10n=ru&sign=5ae6955cadcf37516c14f396ab2b2b3c&keyno=0). Информация бесследно не исчезает, следы найти можно
.
alexingor
07.10.2012, 17:55
GS1966, большое спасибо. Буду разбираться, но уже вижу, что почерпну там массу информации.
Дополнительно: Scripting FAQ (http://www.jetdv.com/vegas/forum/viewforum.php?f=13&sid=8e05bffb09815aa7232c99be47ffcaee)
.
chainick
07.10.2012, 22:38
Vegas Pro 10.0 Script Developers Kit (http://www.sonycreativesoftware.com/download/link?id=4746.1)
В тему Export MKVmerge chapters.
Когда-то пользовался этим скриптом, вот опять понадобился. Но под 12-м Вегасом он выдал ошибку, описанную на предыдущей странице.
Я поколдовал немного, сделал из него файл .cs, вроде работает.
Пробуйте.
Miguk просто отлично! Огромное Вам спасибо! Действительно создает XML без ошибок! (и в 12 и в 11 версии), но, единственное, что-то сам MKVMerge крайний на сегодня (5.8.0) немного ругается на само содержимое файла
Ошибка: XML-файл глав 'D:\My documents\test.xml' содержит ошибку: Тег или атрибут 'ChapterTimeStart' в позиции 515 содержит неверные или искаженные данные. Ожидалось время в следующем формате: HH:MM:SS.nnn (HH = часы, MM = минуты, SS = секунды, nnn = доли секунды от миллисекунды до наносекунды. Вы можете использовать до девяти цифр для 'n', что будет соответствовать наносекундной точности). Час можно не указывать. Вместо этого получено '00:04:02,23'. Дополнительное сообщение об ошибке: Недопустимый формат: неизвестный символ ','
Не могли бы Вы при наличии желания и времени докрутить еще немного такую удобную штуку?
Если в итоговом файле автозаменой поменять "," на "." то все прекрасно получается. Но в коде скрипта "методом научного тыка" я не смог отыскать, что именно в коде отвечает за это место.
Ищу это, кто может помогите Не затруднит, тем более что у меня их всего 4, которыми я пользуюсь, было больше, но не нашел применения. 1) AlphaChannel - Straight. 2)Aspectratio, 3) Photo_Snapshot, 4) Export_Markers_for_DVDLabPro. Забрать. (http://files.mail.ru/Y66O6P)
AlphaChannel - Straight - http://provegas.ru/2008/08/ispolzovanii-futazhej-perexodov-swipes-c-dvojnoj-alfoj
или http://www.johnrofrano.com/vegasscripts.htm
Aspectratio - http://www.johnrofrano.com/vegasscripts.htm или Vegasaur
Photo_Snapshot - отдельный инструмент в Vegasaur
.
Ген спасибо, но меня как-раз интересует последний скрипт в списке
Найти можно на торрентах, в раздачах времен 8го Вегас
.
Перезалил (http://narod.ru/disk/62585846001.6a4ca1eecdcbc09a84dea7ee61e2ab28/Script%20Menu.zip.html)
Pilman`s TV
01.12.2012, 21:46
Приветствую коллеги!
вопрос первый:
есть ли такой скрипт, что бы я отсматривая в триммере видео ставил ин ауты или маркера а потом когда весь исходный материал отсмотрен - нажав кнопочку скрипт собрал бы всю нарезку на таймлан
как для чернового монтажа клипа скрипт бы был "золотой"
вопрос второй:
как увязать исполнение нужного скрипта на шорткат?
ок на свой второй вопрос я нашел ответ сам.
первый вопрос очень актуален.
и еще один нужен скрипт - мне нужно (я работаю в 11 версии) то что реализовано в 12 вегасе - а именно:
относительно позиции курсора на таймлане нужен скрипт что разрежет эвент и удалит его слева от курсора и еще скрипт на справа от курсора - без сдвига эвента
нечто подобное нашел в старых скриптах - но там только со сдвигом всего что на таймлайне
petrovich
03.12.2012, 01:57
Приветствую коллеги!
вопрос первый:
А что мешает после ин-аутов делать из них subclip`ы сразу в отдельныё бин, а потом из него закидывая все (или некоторые) на ТЛ?
есть ли такой скрипт, что бы я отсматривая в триммере видео ставил ин ауты или маркера а потом когда весь исходный материал отсмотрен - нажав кнопочку скрипт собрал бы всю нарезку на таймланВопрос упирается как минимум в отсутствие порядка клипов. До кучи я слабо представляю как разные ин-ауты в одном исходнике проставлять, хотя это не вопрос к скрипту.
нечто подобное нашел в старых скриптах - но там только со сдвигом всего что на таймлайнеПокажите на старый скрипт - попробую вырезать из него сдвиг.
Pilman`s TV
03.12.2012, 12:51
petrovich - дополнительные манипуляции с созданием субклипов - тоже что и сброс из триммера на таймлайн - это все время.
у меня стандартный проэкт - это примерно пару тысяч исходных эвентов - вот и будет пару тысяч нажатий комбинаций - что все равно в субклипы что сразу их по одному на таймлайн.
а так этапы бы упростились - отсмотрел маркера расставил- и вывел все махом на таймлайн - очередность та что и в бине - например отсортировал в бине все по дате модификации и таже последовательность на таймлайн
Добавить результаты работы триммера не получится. У Media есть похожие параметры (TimecodeIn, TimecodeOut), но от выделения в триммере они не меняются, и скрипту в нормальных условиях выдаются нулевыми. Смещение у видео/аудио потоков тоже не меняется.
Скрипты для сплитов с удалением налево/направо по всей группе выделения прикладываю
Pilman`s TV
05.12.2012, 02:32
warper - суппер!!! спасибо! бог скриптописания - теперь уже нет смысла ждать 12 вегас ))) почти все есть для полного счатья.
warper весы не жмутся( . спасибо.
весы не жмутся
Их нужно чаще пользовать. Не 8 раз за год
.
AndrewPet
09.01.2013, 23:56
подскажите, нужен скрипт, который ищет черноту (т е пропуск видео) на всех дорожках в проекте. Это нужно для того, чтобы повырезав брак, не пропустить потом что-то, не забыть накрыть перебивкой. Раньше работал в премьере, там можно было назначать клипам цвета, было нагляднее где брак, в вегасе боюсь не заметить.
Г О Ш А
10.01.2013, 00:54
там можно было назначать клипам цвета
А в вегасе можно маркерами ( регионами ) проблемные зоны метить ( кнопка M ) Не работал в премьере - судить не буду о удобстве ... но маркерами с точностью до кадра выделяешь зону,даже написАть можно что там у тебя в этом месте )))
Пропуск насквозь до подложки или на одной дорожке плохо=всё плохо?
И как быть со звуковыми дорожками?
Может быть, будет достаточно auto ripple и скриптов, вручную делающих то же самое?
AndrewPet
10.01.2013, 11:28
А в вегасе можно маркерами ( регионами ) проблемные зоны метить ( кнопка M ) Не работал в премьере - судить не буду о удобстве ... но маркерами с точностью до кадра выделяешь зону,даже написАть можно что там у тебя в этом месте )))
Да все хорошо, но у меня они постоянно съезжают, не могу привыкнуть к 3-м режимам auto ripple. поэтому надежнее резануть в каком-то месте, уже точно никуда не съедет. Или равноценно можно поставить маркер на сам клип (маркер события, а не ТЛ), но к нему нет привязки и его еще сложнее найти.
Подскажите тогда скрипт для переноса маркеров с таймлайн на клип. Обратный скрипт есть по умолчанию.
petrovich
11.01.2013, 04:03
Если я все правильно понял, то есть такое предложение: можно делать "subclip" и потом его выбирать из "project media"
jurisviii
11.01.2013, 11:21
скрипт для переноса маркеров с таймлайн на клипне нужен, так как для этого существует галочка в окне настроек просчета.
AndrewPet
11.01.2013, 12:14
а при чем здесь просчет?
мне нужно, чтоб все маркеры, пересекающие клипы на выделенных дорожках "оставили след" на этих клипах в местах пересечения в виде маркеров клипа.
т е как скрип Promote Media Markers, только наоборот.
jurisviii
11.01.2013, 12:38
Программы нелинейнного монтажа в основном не модифицирует исходных файлов, еще больше - они постоянно проверяет из сохранность. Для вегаса имеется только одно исключение - Apply Non-Real-Time Event FX для звука. Поэтому для расставки маркеров на исходники следует применять не таймлайн а тимер.
AndrewPet
11.01.2013, 13:18
а что, маркеры остаются в исходном файле? не знал такого, я думал это все хранится внутри проекта вегаса.
jurisviii
11.01.2013, 13:26
Маркеры сохраняется внутри тех файлов, формат которых имеет такую возможность. Для остальных форматах создается отдельный дополнительный файл *.sfl
AndrewPet
11.01.2013, 15:29
для расставки маркеров на исходники следует применять не таймлайн а тимер.
ну все же, какая разница, просто в тример неудобно кидать каждый раз файлы, а так был бы скрипт и все. то же самое, но проще. кто-то может написать такой?
AndrewPet
Можно попробовать, но какой смысл, если увидеть эти регионы можно только в том же триммере или вытащить оптом скриптом (а оптом они уже расставлены в проекте)?
Г О Ш А
11.01.2013, 18:06
Ребята,может кому попадался скрипт для растягивания изображения на весь экран, ну чтобы галочку в пропертях с Maintain aspect ratio сбрасывал. А то футажи ( переходы,фоны ) у меня 4*3 а монтирую 16*9 и каждый раз тыкать напрягает.
Всё,нашёл ! На первой странице данной темы,пост #20.Поиск рулит :pardon:)))
Г О Ш А
Это вроде и без скриптов можно сделать, копируя настройки pan/crop.
Г О Ш А
11.01.2013, 18:53
Да я в курсе ))) но быстрее получается кнопочку на Toolbare тыкнуть.
AndrewPet
12.01.2013, 00:50
AndrewPet
Можно попробовать, но какой смысл, если увидеть эти регионы можно только в том же триммере или вытащить оптом скриптом (а оптом они уже расставлены в проекте)?
ну почему только в тримере? все замечательно видно на ТЛ. если бы только в тримере, то и разговора бы не было, тк такие маркеры по сути бесполезны.
http://provegas.ru/help/Media_Markers.htm
кстати, в справке написано, что можно выравнивать курсор по маркерам клипа, но у меня это не работает, работает только выравнивание при подрезании края клипа. может подскажите, как включить эту приязку?
Если не ошибаюсь.
Нажать shift и F8(включения, выключение привязки). Иначе Options , там Snap to Markers. Контрол и стрелку право -лево, будет ходить по маркерам.
AndrewPet
13.01.2013, 00:28
как сам с собой разговариваю, ей богу... маркеры КЛИПОВ (ЕВЕНТОВ, СОБЫТИЙ... я не знаю. как еще написать, чтоб меня поняли). про маркеры ТАЙМЛАЙНА (ПРОЕКТА) вопросов нет, все понятно.
Promote media markers не помогает отцу русской демократии?
AndrewPet
13.01.2013, 23:58
мне нужен Promote media markers, только наоборот, не чтение маркеров из медиа, а запись их туда.
petrovich
14.01.2013, 02:18
Насколько мне известно Вегас не меняет данные медиа. Записать маркеры в медиа можно только просчитать эти медиа в другой файл и поставить галочку в окне настройки рендера внизу. Тогда появляется в медиа маркеры. Есть другой способ: кидаете медиа на ТЛ ставите маркеры, сохраняете проект потом закидываете проект на ТЛ вуаля, есть в вегазавре и ассистенте кнопочка вложение проекта из медиа с ТЛ. Можно вынести эту кнопочку на тулбар. Можно попробовать использовать Hitfilm, но я не пробовал не знаю.
alexingor
14.01.2013, 05:22
Коллеги, нужна ваша помощь. Возникла у меня потребность сделать скрипт, который перенумеровывает регионы, подобно Renumber Regions в вегазавре. Какой здесь возможен подход? Спасибо за ответ.
altarvic
14.01.2013, 10:12
мне нужен Promote media markers, только наоборот, не чтение маркеров из медиа, а запись их туда.
В Вегазавре есть Demote Markers (но работает не со всеми форматами)
p.s. а привязки (snapping) к медиа маркерам в Вегасе нет :(
скрипт, который перенумеровывает регионы...
Какой здесь возможен подход?
1) Скрипт берёт список регионов проекта: Vegas.Project.Regions (и/или список маркеров Vegas.Project.Markers).
2) Все элементы запоминаются (позиция и имя для маркера; позиция, длина и имя для региона) и сортируются по позиции (или как их надо перенумеровать).
3) Все регионы (маркеры) удаляются из списка в проекте.
4) Все регионы (маркеры) в нужном порядке добавляются в проект (пересоздаются).
Дальше сами разберётесь или лучше код допилить?
alexingor
14.01.2013, 13:53
warper, большое спасибо.
Дальше сами разберётесь или лучше код допилить?
Был бы очень благодарен. Я еще сам и одного скрипта не писал, только дорабатывал существующие, и, честно говоря, картина не совсем ясная.
А вот еще вопрос назрел. Как изменить длину или позицию на таймлайне какого-то события TrackEvent?
Прилагаю скрипт для перенумерации регионов.
Как изменить длину или позицию на таймлайне какого-то события TrackEvent?Взять трэк ивент, и применить
ивент.AdjustStartLength(таймкод начала, таймкод длины, true или false для сдвижки всех дублей вместе с ивентом);
alexingor
17.01.2013, 06:23
Прилагаю скрипт для перенумерации регионов.
Спасибо большое. Такое красивое и изящное решение.
Взять трэк ивент, и применить
ивент.AdjustStartLength(таймкод начала, таймкод длины, true или false для сдвижки всех дублей вместе с ивентом);
Это как раз то, что мне было нужно. Долго искал, не мог найти. Еще раз спасибо!
Встала передо мной такая задача - нужно изображение в событии сместить на определенное количество пикселей по вертикали. По сути, надо промоделировать изменение Y Center в Pan/Crop. Не пойму даже как подойти к этому фрагменту скрипта. Помогите!:SOS:
AndrewPet
17.01.2013, 23:07
В Вегазавре есть Demote Markers (но работает не со всеми форматами)
p.s. а привязки (snapping) к медиа маркерам в Вегасе нет :(
все, нашел, это то, что я искал, огромное спасибо!
alexingor
18.01.2013, 00:34
Есть ли какая-то связь между классами TrackEvents и VideoEvents и в чем разница между ними? Можно ли имея один из них получить другой? Спасибо.
Класса TrackEvents не существует.
В API остальные показаны так:
class VideoEvent : TrackEvent
class TrackEvents : BaseList<TrackEvent>
То есть, TrackEvents - это коллекция объектов TrackEvent.
VideoEvent - наследник TrackEvent, то есть он может быть в той самой коллекции.
Помимо VideoEvent в списке могут быть ещё AudioEvent.
Можно узнать что именно через instanceof или аналогичный оператор, или позвать функцию IsVideo() или IsAudio(). Впрочем, можно узнать это и у самой дорожки - в Вегасе же видео/аудио на одну дорожку не лезет.
AndrewPet
19.01.2013, 20:54
скажите, а где взять обозначения конкретных переходов, вернее их пресетов?
чтоб вставить сюда
http://s017.radikal.ru/i401/1301/c4/836d5e9ca259.jpg (http://www.radikal.ru)
Сюда - никак, тут только guid прописан, без пресетов
Можно, наверное, сделать скрипт, который в определённом месте (например, в переход на выделенной дорожке под курсором) поставит определённый переход с определённым пресетом.
По идее пресеты должны быть доступны списком из типа перехода, но уверенности у меня пока нет - надо покрутить их.
AndrewPet
22.01.2013, 12:47
Покрутите, плиз. А то очень не хватает возможности поставить переход через черный цвет между двумя клипами только с клавы, каждый раз где-то ковыряться, выбирать мышкой пресет - утомительно. а если делать через фейд то каждый раз длину фейда вручную, тоже неудобно.
переход через черный цвет
Нужно не забывать, что у этого черного должны быть студийные уровни
.
jurisviii
22.01.2013, 18:16
Покрутите, плиз.
Вегас является точным инструментом и не ставит переходов как большинство остальных монтажек еще 18 кадров перед началом и столько же после конца, а точно от сюда до туда.
Потому покурить придется тебе и работать не как хочется а как удобнее. Один вариант - поставить обычных миксов и потом их всех заменить, второй - создать и держать под рукой цветовой фон нужного цвета, длины и в соответствии с настройками проекта и натянуть его на место подрезки, третий вариант - твой собственный и самый лучший.
AndrewPet
24.01.2013, 01:08
очень жаль. как-то очень много возни выходит для элементарной задачи.
странно, конечно, что не сдлелали возможность поменять 3 стандартных пресета на свои, очень странно. тем более для вегаса, где настраивается практически все.
jurisviii
24.01.2013, 09:32
Менять можно только то что имеется,
тут только guid прописан, без пресетов
поэтому можно менять клавиатурных комманд для трех переходов, а не пресетов переходов переходов для существующих комманд другого назначения.
Иначе получается, что ты меняешь мой дом на машину для себя, и тогда я буду возражать... :moder:
AndrewPet
Я вижу следующий вариант: скрипт выбирает переход по имени, выбирает пресет по имени, заменяет существующий переход на выбранный, ставит выбранный пресет.
Скрипт - на тулбар, настройка быстрой кнопки. После "натягивания" одного ивента на другой останется сделать клик на переход и нажать быструю кнопку.
Поскольку у нас разные версии вегасов, напишите с точностью до буквы как называются требуемые переход и пресет. Если нет подходящего пресета по умолчанию - создайте, сохраните и всё равно напишите название. Я запишу это название в скрипте, поскольку интерактивный выбор пресета в данном случае - не вариант.
Постараюсь сегодня сделать скрипт.
Прикладываю скрипт - он ставит в текущем месте переход через цвет. Перед использованием нужно либо изменить названия в строках 41 и 47,
а там стоят
41: transEnum.item().Name == "Sony Dissolve")
...
47: evt.FadeIn.Transition.Preset = "Fade Through 16";
,либо создать для Sony Dissolve пресет с именем Fade Through 16 на основе Fade Through Black, изменив под себя цвет.
AndrewPet
25.01.2013, 13:49
ОГО! спасибо огромное, сейчас попробую!
AndrewPet
27.01.2013, 12:55
warper, что-то никак не срабатывает, уже по-всякому менял названия, все никак. Наверно глючит, потому что у меня половина интерфейса на рус половина на англ, надо переустановить, чтоб убрать эту корявую русификацию (когда ставил, думал, что это офф перевод), но сейчас куча работы срочной... скажите, если я переустановлю вегас, как сохранить все мои настройки? панель инструментов, layout-ы и остальное?