Stream to 3D - Conversion

Converting 2D Videos to 3D [NA for Real-Time Product]

Let's start with the simple scenario of converting a single 2D video to 3D. More complex examples involving batch conversion, different video encoding options and specifying the output destination in different ways are discussed later.

Important: For GPU accelerated video encoding, FFMpeg has a dependency on your GPU graphics driver, so you need to make sure that your GPU graphics driver is up to date. You will receive an error from Stream to 3D, telling you to upgrade your graphics driver, during video conversion if there is a mismatch.

To convert a 2D video to 3D, click "Convert" in the main menu and select the video file for conversion from the file selection dialogue box below. You can also, alternatively, select a ".txt" file containing a list of the path names to videos to convert, for  batch mode processing:

After selecting the source video file, you will be prompted for the destination video file name:

Conversion of the video file will then begin. You will be shown a progress bar detailing the time taken so far to convert the video, an estimate of the time remaining to complete, the percentage progress and the name of the file being converted. The Cancel button presented will allow you to cancel an in progress conversion.

Note that for long videos, conversion may take many hours. The time taken will depend on the length of the video, its resolution, the encoding scheme chosen and the number of conversions being processed in parallel:

Once the video conversion is complete, you will be offered the opportunity to play the converted version, via the green play button shown in the screen shot below:

Batch Conversion of 2D Videos to 3D and Settings [NA for Real-Time Product]

To convert a set of videos, first create a text (".txt") with a list of the video files that you would like to convert (including their path names). An easy way to generate such a file from a directory structure containing candidate video files would be to open a CMD window (N.B. not a Terminal Window), change into the directory containing the video files, and enter a command similar to the one below:

dir * /s/b | findstr \.mp4 > listOfFilesToConvertTo3D.txt

This will generate a text file called "listOfFilesToConvertTo3D.txt" containing a list of all of the ".mp4" video files in the current directory and its sub-directories. You can obviously change the file extension ".mp4" in the command to match other video formats should you need to.

Once you have created this file, you can edit it to remove any files that you do not want converted. Note that the batch conversion process will try to ignore files that are already in 3D format. For example, it will ignore files that have "3D" in their file name or end in ".SBS.mp4", ".TB.mp4", ".HSBS.mp4" or ".HTB.mp4".

You can control a range of aspects of the conversion process in the "Settings/Conversion" menu. See Screen Shot below:

The "Video Coding" drop down let's you choose the video encoding format for your converted videos. You can choose between "Advanced (AVC, H.264)", "High Efficiency (HEVC, H.265)" or apply your own "Custom FFMPeg Options".

The "Custom FFMPeg Options" selection requires advanced knowledge of the FFMpeg tool used for video encoding and its configuration. If this option is selected, then Stream to 3D will NOT automatically specify the video encoding options to FFMPeg. In this case, the encoding options should be set in the FFMPeg Options text area together with the other options to FFMPeg (see below). Stream to 3D will set the "%encoder%" variable, seen in the "FFMPeg Options" text area, to an empty string if this option is selected.

The Graphics Processing Unit "GPU Acceleration" check box determines whether or not your GPU hardware will be used to encode your converted videos or whether the conversion will be performed in software running on the CPU of your computer.

GPU conversion is substantially faster, but software based conversion can yield better quality. Stream to 3D will auto-detect your GPU. If you have either an NVIDIA or AMD GPU, then "GPU Acceleration" will be enabled by default. You can change this by unchecking the check box, so that software based encoding is used instead.

The "FFMPeg Options" box provides for the opportunity to further customise the options to the FFMPeg tool used for video encoding. This requires advanced knowledge of the FFMPeg tool. This entry could be used, for example, to adjust the encoding bitrate and audio format among other items. For further reading, see the FFMpeg documentation here.

By default, when performing batch conversion, Stream to 3D will prompt for the destination folder in which to save converted videos. However, there is also the option to set Stream to 3D so that it stores converted videos in the same folders as the original videos. This is enabled by checking the "Store Converted Video in Folder of Original" check box.

The final item on this settings page allows you to specify a prefix file name for your converted videos. The default, as shown, is "StreamTo3D.", which can be edited.

Performance settings are also relevant to the batch conversion process. See screen shot below from "Settings/Performance":

Stream to 3D automatically detects the number of CPU cores on your machine. By default, it will set the number of "CPU Cores to Use" for conversion (and conversion during playback) to half the number of CPU cores available. This is to reduce the risk of Stream to 3D processing impacting other processes running on your machine. You can experminent with this value.

Stream to 3D can also be configured to support running multiple conversion processes in parallel. The "Max Parallel Conversions" drop-down box will let you set the maximum allowed. Note: use this setting with caution as it can bring your machine to a stand still if you do not have enough processing capacity to run the maximum number or conversion processes specified.

Batch Conversion Example

Let's continue with a batch conversion example. Having created a text file listing the videos to convert to 3D, click "Convert" in the main menu. This will bring up the file selection dialogue below. You can use the filter drop-down to filter for text files. Navigate to your list file and select it:

In this configuration, videos are set to be converted and saved in a single folder, so the next dialogue asks for the destination directory to be specified:

In the screen shot below, we can see the batch conversion in progress. There are two "Cancel" buttons.

The first "Cancel" button allows cancellation of conversion for the video whose progress bar is currently being displayed. The progress bar is displayed for 5 seconds at a time in a round-robin fashion for each video being converted. The number in the square brackets on the right gives a 5 second count down until when data for the next video in the list will be displayed. This gives time for you to review progress of each video and decide on whether you would like conversion to continue for that video, given the data on time remaining etc displayed in the progress bar. Note that the conversion process can take many hours for long videos.

The second "Cancel All" button will cancel conversion for all video conversions in progress.

The screen shot below shows progress for the second video in the batch being converted, following the 5 second timeout of the progress bar for the first video above:

The screen shot below shows the display when batch conversion is complete. A summary showing a count of successful, failed and cancelled conversions is provided together with a button that allows review of the conversion summary log file:

For detailed information on batch conversion status, Stream to 3D creates a ".csv" log file containing the batch conversion results, listing; the date and time of conversion completion for each file, the source video path, the converted video path, the processing time and (if applicable) the path to the log file for failed video conversions for diagnosis purposes. See example below:

In this example two videos have been successfully converted, but the third failed as it was bypassed as it was deemed (correctly) to already be in 3D format as it has "3D" in its file name.