More contrast in videos?

May 15, 2011 at 11:44 PM

Hi Guys,

Some tutorials I made a few years ago with an older version of quicktime and with best quality, etc. I'm transcoding these with VidCoder (0.8.4 x64) and the resulting video has much less contrast (default "High Profile" setting).

Is there a way in VC to make the copy with similar contrast as the original? or if I had a video that needed more contrast, is there a way to do that?

Thanks for any help.

May 16, 2011 at 1:14 AM

Well, even I want some  help with the video colors replacements.

 

I use these settings on Megui and this makes a High Quality Look :

Tweak(bright=-1)
Sharpen(0.40)

Levels(8, 1.000, 255, 0, 255)
Tweak(hue=0.0, sat=1.0, bright=0, cont=1.0)

 

Anyway to put the same settings to vidcoder? I applied these on the options string, but doesn't work

May 16, 2011 at 2:35 AM

Also, I'm getting a crash when I try to encode more than one of these *.mov files at a time. (NB: The D drive in the quoted text is not referring to anything on my PC, as my D drive is only used for personal 3D work)

 

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at HandBrake.Interop.HandBrakeInstance.ApplyJob(hb_job_s& nativeJob, EncodeJob job, Boolean preview, Int32 previewNumber, Int32 previewSeconds, Double overallSelectedLengthSeconds) in D:\docs\projects\VidCoder\HandBrakeInterop\HandBrakeInterop\HandBrakeInstance.cs:line 1083
   at HandBrake.Interop.HandBrakeInstance.StartEncode(EncodeJob job, Boolean preview, Int32 previewNumber, Int32 previewSeconds, Double overallSelectedLengthSeconds) in D:\docs\projects\VidCoder\HandBrakeInterop\HandBrakeInterop\HandBrakeInstance.cs:line 391
   at HandBrake.Interop.HandBrakeInstance.StartEncode(EncodeJob jobToStart) in D:\docs\projects\VidCoder\HandBrakeInterop\HandBrakeInterop\HandBrakeInstance.cs:line 375
   at VidCoder.ViewModel.MainViewModel.StartEncode() in D:\docs\projects\VidCoder\VidCoder\ViewModel\MainViewModel.cs:line 2401
   at VidCoder.ViewModel.MainViewModel.StartEncodeQueue() in D:\docs\projects\VidCoder\VidCoder\ViewModel\MainViewModel.cs:line 2337
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

 

And just for info, Here's the typical MediaInfo from one of my *.Mov files:

 

Format                           : MPEG-4
Format profile                   : QuickTime
Codec ID                         : qt  
File size                        : 113 MiB
Duration                         : 2mn 52s
Overall bit rate                 : 5 487 Kbps
Encoded date                     : UTC 2009-03-11 23:34:04
Tagged date                      : UTC 2009-03-11 23:35:38
Writing library                  : Apple QuickTime

Video
ID                               : 1
Format                           : Sorenson 3
Codec ID                         : SVQ3
Codec ID/Info                    : Sorenson Media Video 3 (Apple QuickTime 5)
Duration                         : 2mn 52s
Bit rate mode                    : Variable
Bit rate                         : 5 485 Kbps
Width                            : 478 pixels
Height                           : 358 pixels
Display aspect ratio             : 4:3
Frame rate mode                  : Constant
Frame rate                       : 24.000 fps
Bits/(Pixel*Frame)               : 1.336
Stream size                      : 113 MiB (100%)

 

 

Coordinator
May 16, 2011 at 4:37 AM

About the contrast: VidCoder uses x264 which tries to keep the video at most like the source material that it can. If you want it to be sharper/better quality, increase the quality target by lowering the RF.

As for sharpen filters, etc: all that I have available is the ones built into HandBrake. There MAY be some color adjustments I can add; I seem to remember some color matrix being an input. I'll investigate that.

Also thanks for the crash report! I'm guessing your video files don't have any audio tracks on them? I found that problem and will have it fixed up in the next version.

May 16, 2011 at 7:31 PM
Edited May 16, 2011 at 7:36 PM

Hey Random,

Yep you guessed right! no audio (they were a series of timelapses). With the contrast issue, (I agree its a x264 thing in nature, as it's the same when I render 3d stuff directly to that format...it really lightens it). Personally I don't want to sharpen the images as they are at the same resolution as I created them. Just the old sorenson I had at the time created massive files compared to H.264. ok, so there's no way to actually darken them manually in VC? (they seem like 8-15% lighter...in other words, the darkest black is a very dark gray...if that makes sense)

Oh, to hijack my own thread, is there any way for VC to differentiate between single video clips (mov, avi, etc) and a VIDEO_TS source? I mean for naming purposes using {source}_{title}_{range} ,etc so that it DOES add those to VIDEO_TS sources, etc but keeps single files ("sample01.mov") name unaltered? Currently I get "sample01_1_1.mp4" using these settings (tools > options > general > Custom format.

Lastly, I'm not sure if it's something to do with my source videos or not, but I remember one of the previous versions was really great at giving variable frame rates for a given video. It used to say minimum 4fps and max/avg:30. Is that still present in HB? or does it depend on the source? (sorry I can't remember exactly what formats it did/didn't work with.) Just the latest version doesn't seem to do it. (NB: In my videos I have a lot of screen captured stuff...so sometimes nothing moves for a second or two, etc)

Thanks for the feedback RandomEngy!

Coordinator
May 16, 2011 at 8:34 PM

Nope, no way to fiddle with dark/light or colors in VidCoder. Maybe I will look into the color matrix input someday, but I don't have it planned for next release.

About the naming: The default auto-name is intelligent about the naming: if there's only one title or one chapter, it won't add that information on there and it formats everything nicely. If you use a custom format, you don't get that logic and it just does token replacement. I figured that adding that kind of customizable auto-name logic would be a lot more work so I put that idea on hold. Maybe I will revisit it someday and put in a more robust custom naming system.

About the variable frame rate, are you talking about displaying the frame rate of the source video? VidCoder has never done that; it's only ever shown one number.

May 16, 2011 at 9:43 PM

Hi,

Thanks for info re: contrast! Actually, it seems stuff that was encoded with sorenson gets lighter. I just tried with another OLD one that I had encoded just with quicktime to MPEG-4...

 

Writing library                  : Apple QuickTime

Video
ID                               : 1
Format                           : MPEG-4 Visual
Format profile                   : Advanced Simple@L3
Format settings, BVOP            : Yes
Format settings, QPel            : No
Format settings, GMC             : No warppoints
Format settings, Matrix          : Default (H.263)
Codec ID                         : 20
Duration                         : 20mn 27s
Bit rate mode                    : Variable
Bit rate                         : 66.0 Kbps
Width                            : 800 pixels
Height                           : 600 pixels
Display aspect ratio             : 4:3
Frame rate mode                  : Constant
Frame rate                       : 5.000 fps
Color space                      : YUV
Bit depth                        : 8 bits
Scan type                        : Progressive
Compression mode                 : Lossy
Bits/(Pixel*Frame)               : 0.027
Stream size                      : 9.65 MiB (31%)

Audio
ID                               : 2
Format                           : ADPCM
Format settings, Firm            : IMA
Codec ID                         : ima4
Duration                         : 20mn 27s
Bit rate mode                    : Constant
Bit rate                         : 256 Kbps
Channel(s)                       : 1 channel
Sampling rate                    : 32.0 KHz
Bit depth                        : 16 bits
Stream size                      : 37.4 MiB

...And in this one the contrast was 1:1 exactly! Not sorenson as you can see. hmm

 

Framerate: No, I mean the Post-VidCoder file. Here's one from March 24th, 2011. I found setting "15fps" in VC was the best...and it did the variable automatically...the source was 29 or 30fps (just wasting space)...

Writing application              : HandBrake svn3735 2011011501

 

Frame rate mode                  : Variable
Frame rate                       : 14.969 fps
Minimum frame rate               : 1.408 fps
Maximum frame rate               : 15.152 fps

 

 

Coordinator
May 18, 2011 at 12:30 AM

So, like data you see in MediaInfo? Are you picking a framerate and checking the VFR box?

May 18, 2011 at 3:09 AM

Yes, exactly.  As seen with mediainfo and Peak Framerate is always ticked.

Although I did find some more videos I encoded at that time which have a Constant frame rate mode (using the same settings). I've just tested with various source files/VIDEO_TS, etc (a mixture of both live-action and screen recordings) and it seems to create the Variable framerate on some, where others remain constant.

Is there any way to enforce the VBR framerate, so it tries to do it for all my encodes irrespective of the source files?

Coordinator
May 18, 2011 at 6:22 AM

I'm exposing all of what HandBrake has in terms of VFR. I think HandBrake would have to change for what you're asking.

May 18, 2011 at 12:33 PM

I totally understand. You've made HB so enjoyable to use! Thanks!

May 18, 2011 at 3:40 PM

Also, not to start too many threads here, etc...

Would it be possible to add a new column to the Completed tab for "Date/Time Completed"? (also when I click the tab headers (Is that what they're called?), the files don't re-organize themselves)

Coordinator
May 18, 2011 at 4:48 PM
Edited May 18, 2011 at 4:49 PM

Column headers, I think you mean. You want them to sort when you click on them. By the way, they're sorted by time completed by default. As jobs complete, they're added to the end of the list. Just wondering: why do you want to know when they completed? Just curious about it? When you want to sort by a given column, are you looking for anything in particular? Just trying to understand the motivation behind your feature request.

Oh and feel free to create new threads for different feature requests. You don't need to re-use a thread for everything.