All of my movie files are in MKV format. If I convert these to MP4 do I lose the nuances of the movie, such as 4K or HDR support?
Hi,
MKV is just a container, MP4 is an format video file.
Converting MKV to MP4 is not useful, because MKV can contain MP4 
Ok that makes sense. What I am trying to accomplish is the best compatibility with devices, specifically those that do not support MKV for direct playback and need to transcode on the fly. I would prefer not to lose quality or advanced features like HDR and such.
I’m not sure that supporting MKV and need for transcode is link.
As I said MKV is just a container.
If you device need transcode, that’s because it can’t decode by itself, and most of the time codec or video file format are not the cause.
Mp4 is also just a container; there is also an mpeg4 video codec. It all depends on the codec that the video/audio is encoded in. All of my videos are h264 encoded in the mp4 container. For 4k content I assume it is h264 encoded, which is also supported by mp4 container. Sorry if you know all this already, but the important thing is making sure your playback devices support the codec you are using, the container doesn’t really matter.
So I should just be able convert MKV to MP4, without losing anything? Sorry I think I am getting hung up on container vs format.
I think so. Are you familiar with command line and the ffmpeg command? If so, you can do
ffmpeg -i /path/to/file.mkv -codec copy /path/to/file.mp4
That’s should copy everything from the mkv container into the mp4 container.
Thank you for that. I have Handbrake also.
I used to use handbrakecli. There is a similar command for handbrake, but I can’t remember what the options are.
Consider your usual video file to be like an envelope (=container).
There’s different types of envelopes that have different features and can contain different media streams.
Common containers are mp4 (incl. m4v, m4a…) or mkv.
Inside your container/envelope, there’s different “streams” – usually that’s 1 video stream and one or more audio streams (e.g. for different languages or for the main movie audio vs. a director commentary).
The different streams can vary depending on the source material.
With regards to compatibility you usually have to consider a number of criteria:
Video streams
- format (e.g. mpeg2 from DVD sources or h264, h265, divx, vc1, webm…) – the most widely supported video format at the moment is h264 (which is what’s mostly considered MPEG4 (mp4 – but again… video format; not container!)
to make things a little bit more complicated, there’s different “levels” in some of those formats where certain clients might support h264 up to level 3 which can cause trouble if your video is encoded in h264 level 4 - resolution (e.g. 4K, 1080p, 720p…) – these describe the width and height of the picture – most players are currently ok with 1080p with 4K content getting wider support as we speak
- bitrate – this relates to the compression or picture quality… higher quality videos usually have a higher bitrate (bigger file sizes, more data per image).
some clients have restrictions to the bitrate they support
Audio streams
- again… there’s various formats ranging from uncompressed PCM audio (native bitstream) to compressed formats (e.g. mp3, aac/mp4, AC3, DTS…) – compared to video streams, it requires less CPU to convert an audio stream to a compatible format
- number of channels (e.g. stereo -> 2 channels or surround with 5.1 or 7.1 channels)
- bitrates – pretty much the same as for videos
Subtitle streams
- more formats… to keep things short: there’s text based and image based subtitles; DVDs and Blu-Rays use image based subtitles (e.g. to ensure everything looks as intended and is located where it’s supposed to be) – some players don’t support those image based subtitles and prefer text-based ones.
kwodz has given a command line based example on how you can re-mux a video. Remuxing means the content/streams remains untouched and only the container is changed. Therefore re-muxing won’t impact the quality of your content (or change it in any other way).
However… mp4 has a number of restrictions that might prevent you from re-muxing your content. From what I remember, the mp4 container is limited to h264/h265 videos and won’t support DTS audio.
In such a case you will depend on “transcoding” your media – that basically means, the file will be re-encoded, changing each of the streams to a supported format.
Super long story a little shorter…
If your clients have issues with the format of your media, re-muxing along will most likely be of little help. Plex will do that for you on its own when “direct streaming” a video (direct play: playback as-is; direct streaming: use the media streams as-is but use a compatible container).
So if you run into playback trouble and cannot use a more powerful hardware for your Plex Media Server, you’ll have to consider losing quality by transcoding (which isn’t necessarily bad or immediately visible).
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.