The purpose of doing this is because my "Smart" samsung TV doesn't play MKV files.
This thread mentions that there is no need for video conversion, just changing the container might suffice. After reading multiple threads on how to change the container of MKV to MP4, I downloaded and compiled the FFMPEG with libfdk_aac support from here. I tried converting a sample MKV file using this command:
ffmpeg -i "C:\VideoTest\Sample1.mkv" -c:v copy -c:a libfdk_aac -b:a 384k "C:\VideoTest\Sample2.mp4"
but getting the following errors (copied from command prompt):
[hevc @ 0000000000308ae0] Could not find ref with POC 113
[hevc @ 0000000000308ae0] Could not find ref with POC 111
[hevc @ 0000000000308ae0] Could not find ref with POC 109
[hevc @ 0000000000308ae0] Could not find ref with POC 107
Input #0, matroska,webm, from 'C:\VideoTest\Sample-1.mk
v':
Metadata:
encoder : libebml v1.3.0 + libmatroska v1.4.1
creation_time : 2014-07-16 08:54:02
Duration: 00:00:58.68, start: 0.042000, bitrate: 3520 kb/s
Chapter #0.0: start 0.000000, end 58.717000
Metadata:
title : Chapter 4
Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x816, SAR 1:1 DAR 40:17, 2
4 fps, 24 tbr, 1k tbn, 1k tbc (default)
Metadata:
_STATISTICS_WRITING_APP: mkvmerge v7.0.0 ('Where We Going') 64bit built on
Jun 9 2014 15:16:27
_STATISTICS_WRITING_APP-eng: mkvmerge v7.0.0 ('Where We Going') 64bit buil
t on Jun 9 2014 15:16:27
_STATISTICS_WRITING_DATE_UTC: 2014-07-16 08:54:02
_STATISTICS_WRITING_DATE_UTC-eng: 2014-07-16 08:54:02
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
BPS : 2733260
BPS-eng : 2733260
DURATION : 00:00:58.667000000
DURATION-eng : 00:00:58.667000000
NUMBER_OF_FRAMES: 1408
NUMBER_OF_FRAMES-eng: 1408
NUMBER_OF_BYTES : 20044023
NUMBER_OF_BYTES-eng: 20044023
Stream #0:1: Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 768 kb/s (default)
Metadata:
_STATISTICS_WRITING_APP: mkvmerge v7.0.0 ('Where We Going') 64bit built on
Jun 9 2014 15:16:27
_STATISTICS_WRITING_APP-eng: mkvmerge v7.0.0 ('Where We Going') 64bit buil
t on Jun 9 2014 15:16:27
_STATISTICS_WRITING_DATE_UTC: 2014-07-16 08:54:02
_STATISTICS_WRITING_DATE_UTC-eng: 2014-07-16 08:54:02
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
BPS : 767986
BPS-eng : 767986
DURATION : 00:00:58.625000000
DURATION-eng : 00:00:58.625000000
NUMBER_OF_FRAMES: 5496
NUMBER_OF_FRAMES-eng: 5496
NUMBER_OF_BYTES : 5627904
NUMBER_OF_BYTES-eng: 5627904
Stream #0:2(eng): Subtitle: hdmv_pgs_subtitle, 1920x1080 (default)
Metadata:
_STATISTICS_WRITING_APP: mkvmerge v7.0.0 ('Where We Going') 64bit built on
Jun 9 2014 15:16:27
_STATISTICS_WRITING_APP-eng: mkvmerge v7.0.0 ('Where We Going') 64bit buil
t on Jun 9 2014 15:16:27
_STATISTICS_WRITING_DATE_UTC: 2014-07-16 08:54:02
_STATISTICS_WRITING_DATE_UTC-eng: 2014-07-16 08:54:02
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
BPS : 17485
BPS-eng : 17485
DURATION : 00:00:56.750000000
DURATION-eng : 00:00:56.750000000
NUMBER_OF_FRAMES: 40
NUMBER_OF_FRAMES-eng: 40
NUMBER_OF_BYTES : 124036
NUMBER_OF_BYTES-eng: 124036
Output #0, mp4, to 'C:\VideoTest\Sample.mp4':
Metadata:
encoder : Lavf56.1.100
Chapter #0.0: start 0.000000, end 58.675000
Metadata:
title : Chapter 4
Stream #0:0: Video: hevc ([35][0][0][0] / 0x0023), yuv420p, 1920x816 [SAR 1:
1 DAR 40:17], q=2-31, 24 fps, 16k tbn, 1k tbc (default)
Metadata:
_STATISTICS_WRITING_APP: mkvmerge v7.0.0 ('Where We Going') 64bit built on
Jun 9 2014 15:16:27
_STATISTICS_WRITING_APP-eng: mkvmerge v7.0.0 ('Where We Going') 64bit buil
t on Jun 9 2014 15:16:27
_STATISTICS_WRITING_DATE_UTC: 2014-07-16 08:54:02
_STATISTICS_WRITING_DATE_UTC-eng: 2014-07-16 08:54:02
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
BPS : 2733260
BPS-eng : 2733260
DURATION : 00:00:58.667000000
DURATION-eng : 00:00:58.667000000
NUMBER_OF_FRAMES: 1408
NUMBER_OF_FRAMES-eng: 1408
NUMBER_OF_BYTES : 20044023
NUMBER_OF_BYTES-eng: 20044023
Stream #0:1: Audio: aac (libfdk_aac) ([64][0][0][0] / 0x0040), 48000 Hz, 5.1
, s16, 128 kb/s (default)
Metadata:
_STATISTICS_WRITING_APP: mkvmerge v7.0.0 ('Where We Going') 64bit built on
Jun 9 2014 15:16:27
_STATISTICS_WRITING_APP-eng: mkvmerge v7.0.0 ('Where We Going') 64bit buil
t on Jun 9 2014 15:16:27
_STATISTICS_WRITING_DATE_UTC: 2014-07-16 08:54:02
_STATISTICS_WRITING_DATE_UTC-eng: 2014-07-16 08:54:02
_STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
BPS : 767986
BPS-eng : 767986
DURATION : 00:00:58.625000000
DURATION-eng : 00:00:58.625000000
NUMBER_OF_FRAMES: 5496
NUMBER_OF_FRAMES-eng: 5496
NUMBER_OF_BYTES : 5627904
NUMBER_OF_BYTES-eng: 5627904
encoder : Lavc56.0.101 libfdk_aac
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (dts (dca) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[mp4 @ 0000000003be0500] Invalid DTS: 656 PTS: -672 in output stream 0:0
av_interleaved_write_frame(): Invalid argument
[libfdk_aac @ 00000000042fa640] Trying to remove 1024 samples, but the queue is
empty
[mp4 @ 0000000003be0500] Encoder did not produce proper pts, making some up.
[libfdk_aac @ 00000000042fa640] Trying to remove 1024 samples, but the queue is
empty
frame= 2 fps=0.0 q=-1.0 Lsize= 96kB time=00:00:00.04 bitrate=18415.0kbit
s/s
video:95kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB muxing ov
erhead: 0.570364%
Conversion failed!
Also tried using this command:
ffmpeg -i input.wav -c:a libfdk_aac -b:a 128k output.mp4
But this screws up the video quality and I start seeing some bad pixelated patches during the playback.
Any help would be appreciated.
Just an FYI: I got this far by reading blogs and posts. I have 0 knowledge about video conversion.
ffmpeg -i input.wav ...
has no video track input. So it can't screw up the video quality. – Endoro