Subtitle Default

Nov 28, 2011 at 1:50 AM

First I will start with thank you...great application. I am doing a batch encode of my DVD collection and you tool looks to be my "silver bullet" solution in terms of quality, batch support, and ease of use.

My question is regarding subtitles, I was wondering if there was a way to include them by default. Currently from what I can tell you need to manually select subtitle tracks to add for each movie. My preference would be to just include all subtitle tracks included in the original DVD. My reasoning is that of my several hundred DVDs I don't know which ones have "forced" subtitles so just keeping them all is the safest option (they take up no disk space, and by default I watch the movies with subtitles off so who cares if there are 5 tracks because they are there for emergency only). Nothing more annoying that missing subtitles during a foreign language segment in a movie. Encoding a huge batch and taking the time to manually add for each title would be very time consuming. Is there a way I might be able to include this (or something similar) as an advanced string or in an xml preset? Thanks for the help.

Coordinator
Nov 28, 2011 at 2:39 PM

I would suggest using Foreign Audio Search with Forced Only checked. That will try to find the track you're describing.

Nov 28, 2011 at 4:03 PM
Edited Nov 28, 2011 at 4:03 PM

Thanks, I have tried that method and am fairly certain it will work. Is there any way to default that setting in a profile or some other way? From what I can tell I have to manually add this setting each time and was hoping to avoid that.

Coordinator
Nov 28, 2011 at 4:14 PM

Currently that doesn't get saved to the encoding profile. If you set up that subtitle and change DVDs it should stick around though.

Nov 29, 2011 at 9:12 PM

Gave your suggestion a try and it worked great! When adding DVDs it remembered my subtitle setting. If you were taking enhancement requests it would be great to have the subtitle options added to the profile ;)

I also would add a vote for the queue management suggestion I saw in another thread. Clicking on an item in the queue would be nice if it just loaded automatically instead of clicking "edit", removing from the queue, then moving back to the queue. Also using the arrow keys when flipping through rows in the queue would be nice for reviewing. One last thought, if a single title crashed the app if it could be handled gracefully and then move on to the next title in the queue. Just a few thoughts that would benefit the queue.

Keep up the great work, the app is excellent.

Coordinator
Nov 29, 2011 at 10:13 PM

Thank you for the praise and the feedback.

The way decided what elements went in the encoding profile was that anything that was how to encode goes in the profile and is edited in the profile window, and anything that concerns what to encode goes in the main window. So you pick your video input, range, audio, subtitles and chapters, then pick an encoding profile and you're set. There ARE some settings already to help you automatically pick the correct subtitle language in the Options dialog, though I suppose that would not help you pick the Foreign Audio Search every time.

I suppose I could put something in the profile that determines how it tries to grab subtitles automatically. It could optionally do a foreign audio search every time. It would have to interact well with the language preference setting and any manual subtitle choices the user might have made. I'll think about it.

About switching after clicking an item in the queue: I don't think that would work with the way I have the list set up. Currently you can select multiple items and drag them around or delete all of them. You'd be loading up different sources when just trying to do simple operations, and it wouldn't be clear which queue item was loaded at any given time due to the possibility of multi-select. In addition, when you bring an item back for editing you lose anything on your current encoding profile, since it's going back and grabbing the encode settings on the queue item and putting them in a "scratch" profile. I don't want it to be a casual thing for the interface to attempt to throw away data. If you need to check settings of all your queue items I think the best way is with new columns on the queue. I can add basically as many optional columns as I want so maybe the settings you care about can be shown there.

About the crashing: Yes, I can see the annoyance there: there's a big queue that's running overnight and one crash stops it all. I can't stop the crash from killing the process since they happen in unmanaged code that I don't own and can't debug so I'd have to have some sort of external watchdog to restart the program if it crashes. I don't like it at first glance because it is ugly, heavy-handed, difficult to implement and fraught with potential bugs but it might be the only thing I can do about it. I'll consider.

Nov 30, 2011 at 3:58 PM
Edited Nov 30, 2011 at 3:58 PM

"In addition, when you bring an item back for editing you lose anything on your current encoding profile, since it's going back and grabbing the encode settings on the queue item and putting them in a "scratch" profile."

I can see this as a move towards a 'total' profile that is saveable as a preset...similar to what I was trying to suggest in the batch concept.  If the encoding preset also included a naming convention and other things like a subtitle/file container preset, it may solve several issues with one preset rather than what we were discussing.

"About the crashing: Yes, I can see the annoyance there: there's a big queue that's running overnight and one crash stops it all. I can't stop the crash from killing the process since they happen in unmanaged code that I don't own and can't debug so I'd have to have some sort of external watchdog to restart the program if it crashes. I don't like it at first glance because it is ugly, heavy-handed, difficult to implement and fraught with potential bugs but it might be the only thing I can do about it. I'll consider."

As you know this had been a big issue (the debug version).  What you explain here makes sense.  what if a leaner VC was run as multiple instances for each "batch", then a batch failure would fail the batch, and not the entire list and the other instances would continue...boggles the mind.  How to manage the different instances under one control, and how to show the user the batch failed.  Shut me up...I'm babbling.

 

 

Coordinator
Nov 30, 2011 at 5:48 PM

That's not a bad idea... instead of having a "watchdog" process you farm out the encode work to isolated processes that can't take down the main GUI. That way you don't get the thorny problems of automatic GUI restarts and still have one single app that's controlling everything. You'd still have to figure out the inter-process communication but I like the concept.

Nov 30, 2011 at 7:02 PM

Yeah...this is kinda what I was thinking when I was talking about using the main UI as an "editor" - - Essentially (and in a general vague way) you are running 2,3,4+ "instances" of VC (each with a preset profile), that all report back to a main queue window...if one job/project/task fails, it knocks out that "instance", but not the others, or the main queue window.  Maybe the main queue scans itself now and then to check active tasks and then can report a task failure if there is one (unique id's on each instance/task that is started?)...  Not meaning to glom onto this thread, but it dove tailed into the things I had in my head about the whole individual task editor vs. just using a main UI.  Cheers.

Coordinator
Nov 30, 2011 at 7:46 PM

My thought was more about isolating failures than anything else. I don't think I would have more than 1 worker process going at a time since there's little benefit in running multiple encodes simultaneously.

Nov 30, 2011 at 9:15 PM

Sorry if I didn't make myself understood...wasn't thinking simultaneously either...well the "instances" would be to facilitate editing, but not the encodes...those would be called in sequence by the main UI or main encode window instance.

Coordinator
Nov 30, 2011 at 9:27 PM

Oh well that's just a UI design concern, not something that necessarily demands process isolation. You could simply have multiple windows in the same process to do what you're describing.

Nov 30, 2011 at 9:28 PM

Would you be able to avoid the crash if each "encode" batch/task wasn't isolated?

Coordinator
Nov 30, 2011 at 9:31 PM

All that you'd need would be an encode worker process to encode the singular main queue. That would isolate the crash. That has nothing to do with multiple editor windows being open at the same time.

Nov 30, 2011 at 9:35 PM

LOL...but each "item" would have to be isolated in some way (the worker encode process) in order to be on the main queue I suppose.  My thinking takes me to a main window, and an input window to give the user a cue as to what they are doing to each item...that's all.  So...now that you have it worked out, you should have all this coded by late tonight, right?  (Hahahaa...just kidding...)

Coordinator
Nov 30, 2011 at 9:41 PM

Windows don't have to be 1:1 correlated with processes. You could have a bunch of windows all editing separate information, but channel that information over to one common worker process to do work. If that worker process crashes, you still have all the encode information in the UI process and can move on to the next job and re-create the worker process.

Nov 30, 2011 at 9:59 PM
Edited Nov 30, 2011 at 10:11 PM

It has been a long time since I've coded anything...LOL  Thanks for the tutorial.  Makes sense.  I did know that about Windows versus processes, but haven't looked under the hood as to how each item in the encode queue relates to the process engaged by VC.  If the queue were already that way, it shouldn't crash was my thinking, so some isolation has to occur as you've said in order to prevent a crash during/between items.

Jul 12, 2012 at 8:53 PM
Edited Jul 13, 2012 at 2:24 PM

I realize I am resurrecting a 'dead' thread - however I have similar comments.

Firstly let me say - I have been a programmer for 20+ years, and what you have done here is what I would have liked to have done, given more time.  This is beautifully done.  REALLY!  I am somewhat of a perfectionist and this just is very clean.  A+++!

I just started using this app a few days ago - and some of my experiences echo comments found in this thread.

As far as subtitles - I still think it would be a very nice addition to save that as part of the profile, say to always search for 'anything <language of preference>'.  I like the fact that if a new movie is loaded, the subtitle preference sticks around.  However, if you happen to load one that has NO subtitles - the setting is lost, and that has to be reset again, when a new movie WITH subtitles is loaded.

To me - these are the only two things I've noticed that halt almost complete and utter automation of many movies to be encoded in batch.

Now - just one more thought on 'simultaneous encodes'.  On my setup (I7 930 with 12GB ram), I see an improvement in running 2 simultaneous encodes.  Why?  Because with only 1 vidcoder running, my system rarely sees 100%.  I want to peg that sucker  :)  If that were not added, I can continue to use two instances of vidcoder, that works fine.  It WOULD be nice to be able to move queued items from one session to the other though, say to even out the overall encode times between the two.

Once again - NICELY DONE.  This by far is the best UI I've seen to an encoder.