TShed is a tool that exposes the CLI of popular tools like FFMpeg, HCenc, Quenc, MKVextract through an easy to use Gui. This is my first guide, so hopefully it is easy to follow.
For this guide you will need the following software:
Avisynth 2.5 or higher
The encoders above are listed as optional as you just need to choose the one, but the guide covers each one.
First, I have 26 files denoted as "mymovie_0x.mkv". Typically, when dealing with multiple files from the same source, most of the files are generally uniform in nature. Meaning, they have the same dimensions (Width/Height) and the TrackIDs are in the same place.
The first thing I always do is create a folder called "input" and "output". Inside of the "output" folder, I make a file called "project.txt", which I will note the frame rate, the TrackID locations and any irregularities I find in the files.
So, I drag my MKV files one by one into MKVEtractGui and take a peek at the track locations. This should not take very long at all to view each file, although I typically do every other file. Here is a printout of the first file:
Upon further inspection, I find that file "mymovie_11.mkv" has an irregularity, the Audio and Subtitle tracks are different then the rest of the batch, so I make a note in my "project.txt" file and move on:
After viewing the files, I typically use Mplayer or MediaInfo to see what the Frame rate of the videos are and that doesn't take very long. Here is what is being reported by MediaInfo:
The next step is to start making your Avisynth Scripts. Since I know that my files are uniform with regards to the Width/Height, I will open up FitCD and get the appropriate settings that will be used for all files. I have a tool which will be added to TShed that will generate all 26 AVS files automatically, but you will have to open each file in FitCD and make changes or use some batch AVS scripting tools such as AviSynth Batch Scripter (I am not familiar with it). Since the Frame Rate is 25.689, I am going to add the filter "AssumeFPS(25)" so I can then use DGPulldown to place a Pulldown on the video and ensure audio/video synchronization. Also note, that I am also using the Frame Server "DirectShowSource" and disabling the audio.
Here is what FitCD looks like:
Here is a full view of the script:
The next step is to start encoding with HCenc or Quenc, using TShed as the Front-End (You could also use another encoder such as TMPEgnec or CCE). When you open TShed, on the menu, you want to go to TShed->Settings and set the path of HCenc, Quenc, FFMPeg, MKVExtract and DGPulldown. You only have to do this once. Also, you need to set the number of processors you have. This setting is used to determine how many "threads" or "windows" will run simultaneously on some of the applications in TShed.Code:DirectShowSource("C:\Guide\input\mymovie_01.mkv", audio=false) LanczosResize(720,480) AssumeFPS(25)
Here is a screen print:
Next, on the main menu in TShed, go either to Video->Quenc or Video->HCenc to open up the Gui for those tools.
For Quenc, the first thing you want to do is check "Template->Previous Settings" on the menu. You will drag and drop 1 AVS file onto the ListView box. Once it is on the ListView, you will double click it to bring up the Arguments screen. Below is a screen shot of my settings and note that I have chosen "noaudio" for the Mux Profile:
Since you chose "Template->Previous Settings", every AVS file you drag and drop onto the ListView will have the same exact settings as the one you just entered. If you need to change an AVS file individually, just double click that AVS file and change the Arguments. Note, that those settings will become the default settings for other AVS files added afterwards (See the "Guide.txt" that comes with TShed to understand the difference between Previous/Default Settings).
Here is what QuencInTShed should look like when you are finished (note that audio is being reported as disabled):
Now press start and Quenc will start encoding the files.
For HCenc, you need to use HCGui that comes with HCenc or use Freebird's HCBatchGui to make the INI file. Below is what I entered in HCBatchGui:
I saved the file as "HC.ini" and placed it in the "output" folder. On the main menu in TShed go to Video->HCenc to open HCencInTShed. First, you need to set your HC INI file and then you should select the Destination. Aftwards, you need to drag and drop your AVS files into HCencInTShed. Here is what it should look like:
Now Press start and HCenc will start encoding the files.
Once you are finished encoding, you need to use DGPulldown to place a Pulldown on the video. On the main menu in TShed, go to Video->DGPulldown. You need to set your source (where the files you just encoded are located) and destination folders. You must put "25.689" for the Source FPS and "29.97" for the Destination FPS. Leave "Top field first" checked and it is up to you if you want to choose "Modify file in place". I did not choose it, as I want separate output. Now choose "m2v" for the extension. Please note that if your Source and Destination folders are the same and you do not choose "Modify file in place", DGPulldownInTShed will make a folder called "pulldown" in the Destination Directory, so you don't have to worry about overwrites. Also, the number of files that are processed at a time is based upon the number of processors you chose in TShed Settings. Below is what it should look like:
Now press Pulldown and DGPulldown will start processing the files.
After DGPulldown has finished, it is time to get the Audio and Subtitles. On the main menu in TShed, go to Video->MKVExtract. Earlier, we noted that 25 of the 26 files have the same TrackID positions, however file #11 had different TrackID positions. So we first drag all the files into the ListView and you should receive a popup that allows you to set the MKVExtract Arguments. Here is what it should look like:
Please note that extensions chosen are what MKVExtractGui reported when we first analyzed the files. Also note that on "Peform Task", I chose "all", so that all the files will get the same exact Arguments. Aftwareds, I will double click on "mymovie_11.mkv" and set its Arguments separately. So I find it in the ListView and then double click and Here is what the Arguments should be for ""mymovie_11.mkv:
Now set your Destination and here is what MKVExtractInTShed should look like:
Now press start and MKVExtract will start extracting the files.
Once MKVExtract is done, you need to convert the MP3 audio to AC3 or MP2. To do this, on the main menu in TShed, go to Audio->FFMpeg. In FFMpegInTShed, you first want to set your Destination and on the "Extensions" drop down, choose "MP3". Once you have done this, you can drag and drop all of your MP3 files onto the ListView. You will then receive a popup so you can enter Arguments for FFMpeg. Here is what it should look like:
Note, I chose "all" for Perform Task. Once you have done this, press start, and FFMPeg will convert your MP3 files to AC3. Also, the number of files being processesed at once is determined by how many processors you chose in the TShed Settings.
After you have converted the audio, I chose to convert the SSA subs to SRT. I opened Subtitle Workshop and on the main menu, I chose Tools->Batch Convert. Here is what it should look like:
Note that you do not have to worry about the Default/Destination FPS as SSA and SRT are Texted-based Subs, not Frame-based. You should now have 26 newly converted SRT files.
+ Reply to Thread
Results 1 to 6 of 6
Last edited by Maikeru-sama; 28th Feb 2010 at 17:02.
Here is a view of the script via Notepad:
(Why not just paste it in as text in CODE tags?)
Originally Posted by AlanHK
Forgot to mention that if you do not like the original order of the files when you drag them into QuencInTShed, HCencInTShed, MkVExtractInTShed and FFMpegInTShed, then you can just highlight the files in the ListView and drag them up or down, to change the order in which they will be processed.
The order will be preserved if you choose to save the Project (File->Save Project).
The images for this tutorial have been re-uploaded. Sorry for the inconvenience.