While testing out a new Plex install, (article talking about that coming soon), I ran into some difficulties with various ripped content I had, notably that it is far less accepting on various video formats.
For whatever reason, younger me ripped some DVDs as raw VOB files which worked well for VLC but not so much with Plex, which prefers single files for a single movie.
First option I tried was to use Handbrake to convert each VOB into a separate video file which worked, but then I had 4 video files and Plex only saw the first as the movie source. Merging them together can be achieved with ffmpeg, but that loses extra subtitles, audio tracks, and meta information. I prefer my archived files to contain the same information with as close to the original fidelity as possible, so this option was less than ideal.
Better solution was to use VOBMerge 2.52 with Proton to merge the various chapters into a single VOB. This utility can merge serveral '.VOB' files into a single large file, which Handbrake can read, while preserving all the same properties and extra information from the original files.
Despite being a Windows-only utility, it worked just fine with Wine/Proton and is a standalone executable. If the original link goes down, this free software is mirrored here.
Now that I have a single large VOB containing all the content from the DVD, Handbrake was able to use that as the source file and export a fully encompassed MKV container, with all the requested meta information.
Since I like fully tagged files, I will also populate the various meta tags from movie information from TVDB.
With a single large VOB file, all the additional embedded content is preserved, though needs selected in the Handbrake UI. Do this by clicking 'Add All' under Audio and Subtitles tabs, then enter the appropriate labels for each.
Handbrake defaults to 2.0 channel audio, so for preserving 5.1 audio, the 'Mix' needs set on the appropriate channel(s).
Some DVDs may not label their audio channels or subtitles, (that or Handbrake just didn't read them or my original ripping missed something). This was a try and check method of playing the video and selecting the different subtitles / channels to see what they did. On this particular DVD, channel 3 was Spanish, (determined by just listening to it), so I was able to set the label for the destination file.
Since I took a couple extra minutes to set these labels, players such as VLC are able to see them and provide meaningful options when playing them back.
I personally prefer MKV because it is just a container and can contain all these subtitles, separate audio channels, and other documents all within a singular file, (much like a TAR or ZIP file).
For codecs not supported by Plex, ffmpeg can transcode to a supported format.
bash
ffmpeg -i source_file.avi -movflags use_metadata_tags dest_file.mp4
This command will usually do the trick to encode to an MP4 with h.264 codec.
Since the source AVIs and files generally don't have embedded channels,
a simple transcode
is sufficient. If any metatags are included, the -movflags use_metadata_tags
flag
will preserve those.
[MKV]: Matroska Multimedia Container [VOB]: Video OBject *[VLC]: VideoLAN Media Player