Edit: I encode to/with(?) the codec h246. This question is about containers/filename extensions.

I am digitizing old video mediums, such as VHS, VHS-C and Mini DV. A few colleagues have asked me to do it for them, which is awesome and feels great. Now, for personal use, I encode save video with the .mkv container out of habit. I have no idea why that is bad or good. However, the question is, which container should I use to ensure maximum compatibility with my colleagues' phones, computers, possibly TVs? Is, for instance, .mpeg the way to go?

you are viewing a single comment's thread
view the rest of the comments
[–] 8 points 1 month ago* (8 children)

Pretty sure every remotely modern device can open a .mkv container. It's much more important which video codec you used for the video inside the container, that's what will cause the compatibility issues. You want to use h264 for maximum compatibility (but at the expense of taking up more storage).

  • source
  • hideshow 8 child comments
  • [–] 5 points 1 month ago (2 children)

    This is the best answer. MKV is just a container. It’s the codec that will matter the most. As mentioned H264 is going to be the most ubiquitous. Even if you were to try to do MP4 it’s still dependent on the codec. You could do an MKV with MPEG Layer 2, but that’s starting to become too old as well. Also for H264, the RF plays a big part too. Go for something higher like 22-24. It’ll make for a slightly larger file, but you’ll great quality without being a raw file size. Too low and you’ll end up with a potato.

    As for audio, also stick with a safe codec like MP3. Using WAV is too large, AAC is limited as are some others as well.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 1 point 4 weeks ago

    Personally, I would value fidelity over ubiquity. After all, the recipient can transcode it themselves if they need to, but they're not necessarily going to be able to re-digitize it with higher quality in the future.

    As such, I'd use the most modern video codec I could find (and use generous quality settings with it) and use FLAC for audio.

  • source
  • parent
  • [–] 2 points 1 month ago* (2 children)

    Edit: I didn't read properly... You're doing this for other people. Maybe you should go with the conservative option, then.

    (I mean if their devices already support it, there's no harm in forgoing compatibility and just go with a more modern encoding format like HEVC or better AV1. It's not like the next laptop or TV will be unable to play it... But H264 is certainly a safe bet. That's supported everywhere.)

    Also second the point about the container. It doesn't really matter, just go with mkv. In the unlikely case it doesn't work, you can always take the video an put it in a different container. That kind of conversion is fast and without loss.

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 2 points 1 month ago (1 child)

    Thanks! For some reason on Linux, I can (in some cases) "simply" rename the file with a different extension name. Would that be sufficient to do on the recipient's device, or would I need to process it more "properly" with ffmpeg (which I am using, by the way)?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 4 weeks ago* (last edited 4 weeks ago)

    You definitely want to do it properly with something like ffmpeg. Just renaming it leaves you with a misnamed mkv file. (Or whatever is inside.) Linux is clever enough to figure that out, because in the good old days, file extensions weren't all that important. But yeah, some other device might not. And even some Linux software might not get that. Also you won't really change anything, a name is just a name.

  • source
  • parent
  • [–] 1 point 4 weeks ago

    I've run into issues with MKV - like my Samsung TV can technically play them, but it does much better with MP4 (I still use MKV for future-proofing, and just deal with the tv being fickle).

    Most people aren't like me, and won't tolerate that inconvenience.

  • source
  • parent