VideoHelp Forum
+ Reply to Thread
Results 1 to 25 of 25
Thread
  1. Frameserving from Vegas to Ripbot causes the video to get interlaced.

    The original footage is not interlaced but Vegas does it anyway.

    I found a workaround by picking "TFF deinterlace" in Ripbot.

    But what is the best method to fix this? Speedwise and qualitywise.
    Quote Quote  
  2. Member
    Join Date: Jun 2012
    Location: USA
    Search Comp PM
    Speedwise and qualitywise, ripbot is an unnecessary step. Why are you using it?
    Quote Quote  
  3. Originally Posted by smrpix View Post
    Speedwise and qualitywise, ripbot is an unnecessary step. Why are you using it?
    Because I can't frameserve from Vegas to Handbrake.

    What do you suggest?
    Last edited by lonrot; 30th Jun 2014 at 16:51.
    Quote Quote  
  4. Originally Posted by lonrot View Post
    What do you suggest?
    Figure out why Vegas is interlacing your video?

    Render out a lossless AVI for later use in RipBot?

    Frameserving from Vegas to Ripbot causes the video to get interlaced.
    I kind of doubt it's the frameserving itself that's creating the interlacing. Have you checked for settings in the frameserver?
    Quote Quote  
  5. Originally Posted by manono View Post
    Originally Posted by lonrot View Post
    What do you suggest?
    Figure out why Vegas is interlacing your video?

    Render out a lossless AVI for later use in RipBot?

    Frameserving from Vegas to Ripbot causes the video to get interlaced.
    I kind of doubt it's the frameserving itself that's creating the interlacing. Have you checked for settings in the frameserver?
    Vegas makes the interlacing, even the preview window in Vegas looks interlaced But If I render as MPEG2 inside vegas there's no interlacing.
    Quote Quote  
  6. Originally Posted by lonrot View Post
    Vegas makes the interlacing, even the preview window in Vegas looks interlaced
    Okay, but in your first post you said:
    Originally Posted by lonrot View Post
    Frameserving from Vegas to Ripbot causes the video to get interlaced.
    Implying the frameserving itself was at fault.
    But If I render as MPEG2 inside vegas there's no interlacing.
    How do you know that? By playing the resulting video? And you're sure your player isn't deinterlacing it? I don't use Vegas but I'm sure people can tell you that if you're feeding it a progressive video how you can get progressive video out of it. Was making the MPEG-2 video just a test since your final output will be MKV or MP4 (I think)?
    Quote Quote  
  7. How do you know that? By playing the resulting video? And you're sure your player isn't deinterlacing it? I don't use Vegas but I'm sure people can tell you that if you're feeding it a progressive video how you can get progressive video out of it. Was making the MPEG-2 video just a test since your final output will be MKV or MP4 (I think)?
    You're right, apologies for the confusion.

    I was able to fix it by selecting Project Settings > Match Media Settings in Vegas.

    Quote Quote  
  8. Member
    Join Date: Jun 2012
    Location: USA
    Search Comp PM
    Originally Posted by lonrot View Post
    Because I can't frameserve from Vegas to Handbrake.
    What do you suggest?
    I suggest exporting directly from Vegas without any of the tail-end add-ons. What are you trying to do that precludes this as an option?
    Quote Quote  
  9. Originally Posted by smrpix View Post
    Originally Posted by lonrot View Post
    Because I can't frameserve from Vegas to Handbrake.
    What do you suggest?
    I suggest exporting directly from Vegas. What are you trying to do that precludes this as an option?
    The reason is file size beyond anything. I upload videos to Youtube and my internet speed is very slow, getting an MPEG2 file from 500 MBs to 130 MBs as MP4 is a time saver. With Ripbot/Handbrake they look virtually the same.

    The videos encoded in Vegas using H264 are nowhere near Handbrake or Ripbot in terms of quality to my experience.

    Unless I'm missing something...
    Quote Quote  
  10. Member racer-x's Avatar
    Join Date: Mar 2003
    Location: 3rd Rock from the Sun
    Search Comp PM
    Nothing wrong with Frameserving out of Vegas into an external encoder, I've been doing it for many years without issues. The OP had incorrect project settings in Vegas, it's a typical rookie mistake......................
    The memories of a man in his old age, are the deeds of the man in his prime.......
    Quote Quote  
  11. Member
    Join Date: Jun 2012
    Location: USA
    Search Comp PM
    Originally Posted by racer-x View Post
    Nothing wrong with Frameserving out of Vegas into an external encoder, I've been doing it for many years without issues. The OP had incorrect project settings in Vegas, it's a typical rookie mistake......................
    Agree there's nothing inherently wrong with it, just that it's not necessary. After correcting the rookie mistake and adjusting output settings properly, I bet there's little or no difference. (In a quick test I just ran the Vegas internal compressor looked marginally better at the same bitrate, but of course YMMV.)
    Last edited by smrpix; 30th Jun 2014 at 19:01.
    Quote Quote  
  12. frame server is a must because Vegas does not encode CRF, or , for example, does not encode well (efficiently) 1pass web stream, doesn't matter what you do, you see "pumping" coming from Vegas and quality is worse using lower bitrates

    frame server exports Vegas project Properties not clip properties, so those two must match, post mediainfo of your clips as well
    Quote Quote  
  13. Originally Posted by smrpix View Post
    Originally Posted by racer-x View Post
    Nothing wrong with Frameserving out of Vegas into an external encoder, I've been doing it for many years without issues. The OP had incorrect project settings in Vegas, it's a typical rookie mistake......................
    Agree there's nothing inherently wrong with it, just that it's not necessary. After correcting the rookie mistake and adjusting output settings properly, I bet there's little or no difference. (In a quick test I just ran the Vegas internal compressor looked marginally better at the same bitrate, but of course YMMV.)
    Have you tried rendering at lower bitrates, for example 3500kbps?

    There is a difference.

    Here's how it looks using Vega's Sony Tablet 720p Preset. Two passes, average and max bitrate: 3500Kbps.



    Ripbot at 3500kpbps, two passes, x264 default preset at 720p. Notice that the glow detail is retained.



    Again Vegas



    And Ripbot: Notice how it retains detail specially in the dark areas of the helmet.

    Quote Quote  
  14. You do not have to encode to some magic number, in your case 3500kbps, you can use CRF, find your quantizer number, start with 18 or 17 and you are set. You also save some time, because CRF is 1pass.

    For that gradient part in your clip, I'd increase bitrate, just for that part, assuming it is your video signature or something and it is short. I'd use zones , something like :
    --zones 1000,2000,b=1.5
    this will increase bitrate from frame 1000 to 2000 1.5 times, as oppose it would normally distribute for that part, so you do not need to encode the whole video with higher bitrate if you just feel that only one part of video or couple of parts need to get slight push in bitrate

    you can add that in ripbot where "profile" button is, and then you add it into commands,.., kind of neat tuning that cannot be done in Vegas also ...
    Quote Quote  
  15. Lone soldier Cauptain's Avatar
    Join Date: Jan 2006
    Location: Brazil
    Search Comp PM
    Disable SMART RESAMPLE only.

    Click on file mouse button 2, properties, and untick this. No more "interlaced" file.



    ENABLE RESAMPLE


    DISABLE RESAMPLE

    Claudio
    Quote Quote  
  16. Originally Posted by _Al_ View Post
    You do not have to encode to some magic number, in your case 3500kbps, you can use CRF, find your quantizer number, start with 18 or 17 and you are set. You also save some time, because CRF is 1pass.

    For that gradient part in your clip, I'd increase bitrate, just for that part, assuming it is your video signature or something and it is short. I'd use zones , something like :
    --zones 1000,2000,b=1.5
    this will increase bitrate from frame 1000 to 2000 1.5 times, as oppose it would normally distribute for that part, so you do not need to encode the whole video with higher bitrate if you just feel that only one part of video or couple of parts need to get slight push in bitrate

    you can add that in ripbot where "profile" button is, and then you add it into commands,.., kind of neat tuning that cannot be done in Vegas also ...
    Thanks for your great input. Is CRF enabled by default in the CQ Mode?

    Disable SMART RESAMPLE only.
    Believe me I do it all the time, for this particular project Vegas was just being hard. Wouldn't it be great if Vegas had this option disabled by default?
    Quote Quote  
  17. Originally Posted by lonrot View Post
    Is CRF enabled by default in the CQ Mode?
    CQ in ripbot is encoding using CRF,

    terminology here could be tricky, I was mislead once also, because:
    Constant Quality, as it is named in Megui, uses CRF, Constant Rate factor, the same way as in Ripbot
    but there is also Constant Quantizer encoding, that can ad to confusion as soon as you start using shortcuts,
    CRF uses human perception capability and does not try to stick to given quantizer at all times, for example , crazy motion scene, action scene where things get blurred, it might increase quantizer because we cannot perceive detail anyway, and it saves bitrate,
    Quote Quote  
  18. Member racer-x's Avatar
    Join Date: Mar 2003
    Location: 3rd Rock from the Sun
    Search Comp PM
    For the record, the MainConcept mpeg-2 encoder in Vegas is pretty good. I read a long time ago that the Vegas mpeg-2 encoder was blu-ray compliant, while the AVC encoder was not. Don't know if that is still true in newest version.
    The memories of a man in his old age, are the deeds of the man in his prime.......
    Quote Quote  
  19. Member
    Join Date: Jul 2012
    Location: FrogLand
    Search PM
    If anyone is interested, here is a .js script for Vegas, (which even has a nice little GUI & all ) to disable Resampling in your project.
    You can choose to apply to all events, only selected ones, or only those with .xxx extension, for instance.

    Its called FlickerBuddy, and its juste so simple and well done...plz let me share !

    Copy and save it as FlickerBuddy.js

    Code:
    /*
     * Copyright (c) 2004, Folding Rain Filmworks Inc.
     *
     * author: Joe Howes (joeh@guild1.com)
     *
     * Sometimes Vegas' Smart Resample doesn't do a great job of determining
     * when a video event in fact needs to be resampled.
     *
     * One area it fails in is taking certain Quicktime media in PAL format
     * and placing them in an NTSC project or rendering them out as NTSC.
     * Sometimes it's ok, but if you've ever used Quicktime media captured
     * by another NLE (FCP, for instance), you'll notice severe
     * flicker on your output monitor even if you check the "Reduce Interlace
     * Flicker" switch.  This can be a HUGE problem if you've got a large
     * project in multiple files and you'll be outputting various formats
     * (web, NTSC, PAL).
     *
     * The Flicker Buddy is a quick way to set your flicker and resample
     * settings for either selected media or media with a certain type of
     * extension (of course it defaults to 'mov' since I'm using it in a
     * setting with lots of media captured in FCP).
     *
     * In my case, going from PAL Quicktimes captured in FCP and rendering
     * to NTSC on Vegas, I had to reduce interlace flicker and disable
     * resampling.  All other media (AVI, other animations) were fine.
     * When outputting PAL, I wanted to turn off 'Reduce Interlace Flicker'
     * and enable 'Smart Resample' to get the render times back down.
     *
     *
     * USAGE:
     * If you have a certain set of media on the timeline you want to affect,
     * select them and run the script.  If you want to affect all media of a
     * certain extension, just run the script.  Set your options in the dialog
     * box and click 'Apply'.
     *
     * v1.0: Oct. 23, 2004
     */
    
    import System.Windows.Forms;
    import System.Text;
    import System.Collections;
    import Sony.Vegas;
    
    
    /**
     * MAIN
     */
    try {
    
    	var done = false;						// If nothing is done, let the user know
    	var dlog = new FlickerBuddyDialog();	// The GUI
    
    
    	// Show the GUI
    	if (DialogResult.OK == dlog.ShowDialog()) {
    
    		// For each track
    		for (var track in Vegas.Project.Tracks) {
    
    			// If the track is not video, skip it
    			if (!track.IsVideo()) {
    				continue;
    			}
    
    			// For each event
    			for (var evnt in track.Events) {
    
    				var go = false;
    				var filePath = evnt.ActiveTake.Media.FilePath;
    
    				// If the user wants to affect selected events, and this
    				// event is selected, GO.
    				if (dlog.applyToSelectedEventsRadio.Checked && evnt.Selected) {
    
    					go = true;
    
    				// Otherwise if they want to affect certain file types and this
    				// event is that type, GO.
    				} else if (dlog.applyToEventsWExtRadio &&
    					filePath.EndsWith(dlog.extensionTextBox.Text)) {
    
    					go = true;
    
    				}
    
    				if (!go) {
    					continue;
    				}
    
    				// Update the settings
    				done = true;
    				evnt.ReduceInterlace = dlog.reduceInterlaceFlicker.Checked;
    
    				if (dlog.smartResampleRadio.Checked) {
    
    					evnt.ResampleMode = VideoResampleMode.Smart;
    
    				} else if (dlog.forceResampleRadio.Checked) {
    
    					evnt.ResampleMode = VideoResampleMode.Force;
    
    				} else if (dlog.disableResampleRadio.Checked) {
    
    					evnt.ResampleMode = VideoResampleMode.Disable;
    
    				}
    
    			}
    
    		}
    
    	}
    
    
    	// Only bother the user if no events or media were changed.
    	if (!done) {
    		MessageBox.Show("No events affected.", "Done!");
    	}
    
    } catch (e) {
        MessageBox.Show(e);
    }
    
    
    
    /**
     * CLASS: FlickerBuddyDialog
     * The GUI.
     */
    class FlickerBuddyDialog extends Form {
    
    	var applyToSelectedEventsRadio : RadioButton;
    	var applyToEventsWExtRadio : RadioButton;
    	var extensionTextBox : TextBox;
    
    	var reduceInterlaceFlicker : CheckBox;
    	var smartResampleRadio : RadioButton;
    	var forceResampleRadio : RadioButton;
    	var disableResampleRadio : RadioButton;
    
    	var addFXButton : Button;
        var removeFXButton : Button;
    
        var applyButton : Button;
        var cancelButton : Button;
    
        var eventsGroup : GroupBox;
        var settingsGroup : GroupBox;
    
    
    	/**
    	 * CONSTRUCTOR
    	 * Init everything.
    	 */
        function FlickerBuddyDialog() {
    
        	this.Text = "Flicker Buddy";
    		this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
    		this.MaximizeBox = false;
    		this.StartPosition = FormStartPosition.CenterScreen;
    
    		this.Width = 272;
    		this.Height = 265;
    
    
    		// Events
    		applyToSelectedEventsRadio = new RadioButton();
    		applyToSelectedEventsRadio.Location = new System.Drawing.Point(10, 20);
    		applyToSelectedEventsRadio.Size = new System.Drawing.Size(200, 16);
    		applyToSelectedEventsRadio.Name = "applyToSelectedEventsRadio";
    		applyToSelectedEventsRadio.TabIndex = 1;
    		applyToSelectedEventsRadio.add_Click(this.selectedEventsOnClick);
    		applyToSelectedEventsRadio.Text = "Apply to Selected Events";
    
    		applyToEventsWExtRadio = new RadioButton();
    		applyToEventsWExtRadio.Location = new System.Drawing.Point(10, 40);
    		applyToEventsWExtRadio.Size = new System.Drawing.Size(180, 16);
    		applyToEventsWExtRadio.Name = "applyToEventsWExtRadio";
    		applyToEventsWExtRadio.TabIndex = 1;
    		applyToEventsWExtRadio.Checked = true;
    		applyToEventsWExtRadio.add_Click(this.eventsWExtOnClick);
    		applyToEventsWExtRadio.Text = "Apply to Events with Extension: ";
    
    		extensionTextBox = new TextBox();
    		extensionTextBox.Location = new System.Drawing.Point(190, 38);
    		extensionTextBox.Size = new System.Drawing.Size(45, 16);
    		extensionTextBox.Name = "extensionTextBox";
    		extensionTextBox.TabIndex = 1;
    		extensionTextBox.Text = "mov";
    
    
    		// Events ParamGroup
    		eventsGroup = new GroupBox();
    		eventsGroup.Controls.Add(applyToSelectedEventsRadio);
    		eventsGroup.Controls.Add(applyToEventsWExtRadio);
    		eventsGroup.Controls.Add(extensionTextBox);
    		eventsGroup.Location = new System.Drawing.Point(8, 8);
    		eventsGroup.Name = "eventsGroup";
    		eventsGroup.Size = new System.Drawing.Size(250, 70);
    		eventsGroup.TabIndex = 4;
    		eventsGroup.TabStop = false;
    		eventsGroup.Text = "Events";
    
    		this.Controls.Add(eventsGroup);
    
    
    		// Settings
    		reduceInterlaceFlicker = new CheckBox();
    		reduceInterlaceFlicker.Location = new System.Drawing.Point(10, 20);
    		reduceInterlaceFlicker.Size = new System.Drawing.Size(145, 18);
    		reduceInterlaceFlicker.Name = "replaceExistingFXCheck";
    		reduceInterlaceFlicker.TabIndex = 6;
    		reduceInterlaceFlicker.Checked = true;
    		reduceInterlaceFlicker.Text = "Reduce Interlace Flicker";
    
    		smartResampleRadio = new RadioButton();
    		smartResampleRadio.Location = new System.Drawing.Point(10, 50);
    		smartResampleRadio.Size = new System.Drawing.Size(200, 16);
    		smartResampleRadio.Name = "smartResampleRadio";
    		smartResampleRadio.TabIndex = 1;
    		smartResampleRadio.add_Click(this.selectedEventsOnClick);
    		smartResampleRadio.Text = "Smart Resample";
    
    		forceResampleRadio = new RadioButton();
    		forceResampleRadio.Location = new System.Drawing.Point(10, 70);
    		forceResampleRadio.Size = new System.Drawing.Size(200, 16);
    		forceResampleRadio.Name = "forceResampleRadio";
    		forceResampleRadio.TabIndex = 1;
    		forceResampleRadio.add_Click(this.selectedEventsOnClick);
    		forceResampleRadio.Text = "Force Resample";
    
    		disableResampleRadio = new RadioButton();
    		disableResampleRadio.Location = new System.Drawing.Point(10, 90);
    		disableResampleRadio.Size = new System.Drawing.Size(200, 16);
    		disableResampleRadio.Name = "disableResampleRadio";
    		disableResampleRadio.TabIndex = 1;
    		disableResampleRadio.add_Click(this.selectedEventsOnClick);
    		disableResampleRadio.Checked = true;
    		disableResampleRadio.Text = "Disable Resample";
    
    
    		// Settings ParamGroup
    		settingsGroup = new GroupBox();
    		settingsGroup.Controls.Add(reduceInterlaceFlicker);
    		settingsGroup.Controls.Add(smartResampleRadio);
    		settingsGroup.Controls.Add(forceResampleRadio);
    		settingsGroup.Controls.Add(disableResampleRadio);
    		settingsGroup.Location = new System.Drawing.Point(8, 90);
    		settingsGroup.Name = "settingsGroup";
    		settingsGroup.Size = new System.Drawing.Size(250, 115);
    		settingsGroup.TabIndex = 4;
    		settingsGroup.TabStop = false;
    		settingsGroup.Text = "Events";
    
    		this.Controls.Add(settingsGroup);
    
    
    		// Apply button
            applyButton = new Button();
            applyButton.DialogResult = System.Windows.Forms.DialogResult.OK;
    		applyButton.Text = "Assign";
    		applyButton.Left = 100;
    		applyButton.Top = 210;
    		AcceptButton = applyButton;
            Controls.Add(applyButton);
    
    		// Cancel button
            cancelButton = new Button();
    		cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
    		cancelButton.Text = "Cancel";
    		cancelButton.Left = 182;
    		cancelButton.Top = 210;
    		CancelButton = cancelButton;
            Controls.Add(cancelButton);
    
        }
    
    
        /**
    	 * FUNCTION: selectedEventsOnClick
    	 */
    	function selectedEventsOnClick(sender : Object, evt : System.EventArgs) {
    
    		extensionTextBox.Enabled = false;
    
    	}
    
    
        /**
    	 * FUNCTION: eventsWExtOnClick
    	 */
    	function eventsWExtOnClick(sender : Object, evt : System.EventArgs) {
    
    		extensionTextBox.Enabled = true;
    
    	}
    
    }
    Quote Quote  
  20. Member racer-x's Avatar
    Join Date: Mar 2003
    Location: 3rd Rock from the Sun
    Search Comp PM
    That scripts works OK, but I like my simple one better. It disables resample on everything on all tracks. I have a custom button for this script and other heavily used scripts on my Vegas Tool Bar for quick access.

    Copy and save as Resample Disable.cs and place it in you Vegas Script Menu folder.

    /**
    * This script Disables Resampling on all tracks.
    *
    * Revision Date: January 14, 2012.
    **/

    using System;
    using System.IO;
    using System.Text;
    using System.Drawing;
    using System.Reflection;
    using System.Diagnostics;
    using System.Collections;
    using System.Windows.Forms;
    using System.ComponentModel;
    using System.Runtime.InteropServices;
    using Microsoft.Win32;
    using Sony.Vegas;

    public class EntryPoint
    {
    Vegas myVegas;

    public void FromVegas(Vegas vegas)
    {
    myVegas = vegas;

    foreach (Track track in myVegas.Project.Tracks)
    {
    if (track.IsVideo())
    {
    foreach (TrackEvent evnt in track.Events)
    {
    VideoEvent videoEvent = (VideoEvent)evnt;
    VideoResampleMode VRMode = VideoResampleMode.Disable;
    // VideoResampleMode.Force;
    // VideoResampleMode.Disable;
    videoEvent.ResampleMode = VRMode;
    }
    }
    }

    }

    }
    The memories of a man in his old age, are the deeds of the man in his prime.......
    Quote Quote  
  21. Lone soldier Cauptain's Avatar
    Join Date: Jan 2006
    Location: Brazil
    Search Comp PM
    Your script is very nice racer-x. Good job.

    Tested on Vegas Pro 12 and 13.
    Claudio
    Quote Quote  
  22. Member racer-x's Avatar
    Join Date: Mar 2003
    Location: 3rd Rock from the Sun
    Search Comp PM
    I didn't write that script, I found it somewhere...........
    The memories of a man in his old age, are the deeds of the man in his prime.......
    Quote Quote  
  23. Originally Posted by _Al_ View Post
    Originally Posted by lonrot View Post
    Is CRF enabled by default in the CQ Mode?
    CQ in ripbot is encoding using CRF,

    terminology here could be tricky, I was mislead once also, because:
    Constant Quality, as it is named in Megui, uses CRF, Constant Rate factor, the same way as in Ripbot
    but there is also Constant Quantizer encoding, that can ad to confusion as soon as you start using shortcuts,
    CRF uses human perception capability and does not try to stick to given quantizer at all times, for example , crazy motion scene, action scene where things get blurred, it might increase quantizer because we cannot perceive detail anyway, and it saves bitrate,
    I did some tests at 24 and 25 and it looks surprisingly good.

    Vegas is extra sharp in hard edges looses resolution in blurred backgrounds, CRF keeps the quality more distributed.

    Original:



    Vegas two pass at 3500kbps



    Ripbot CRF 25
    Quote Quote  
  24. Originally Posted by racer-x View Post
    I didn't write that script, I found it somewhere...........
    Is there a script that autoruns every time you open or create a new project, checks all the media and disables re-sampling without you even knowing?

    It doesn't matter if resampling is already disabled, it can do it anyway.
    Quote Quote  
  25. the catch is, there can be a great amount of time spent, looking for that right bitrate, not using CRF, because every video is different ... in this example you disregard (not taking into account) the fact , that it took a while to come up with 3500 value, and who says , it is the right one ... , you might even change resolution, type of video, and you are back with your quest for right bitrate with 2pass VBR

    Vegas tend to smear those problematic parts, which could look better in cases, because banding is not that obvious ...,

    using CRF use bitrate viewer occasionally and check actual distributed bitrates for particular scenes, that too is kind of eye opener, because sometimes intuition could be contrary to how actually x264 distributes bitrate
    Quote Quote