Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting mkv to h264 FFmpeg

EDIT: This question has become very popular and is one of the top results for searching "convert mkv to h264 ffmpeg" and thus I feel it is appropriate to add that for anyone stumbling upon this question to rather use

ffmpeg -i input.mkv -c:v libx264 -c:a aac output.mp4

as libvo_aacenc has been removed in recent versions of FFmpeg and it now has a native aac encoder. For more information visit the FFmpeg wiki page for encoding AAC.

Here is the original question:

I would like to convert my .mkv files to .mp4 using FFmpeg. I have tried the following code:

ffmpeg -i input.mkv -c:v libx264 -c:a libvo_aacenc output.mp4

But I get the error:

Error while opening encoder for output stream #0:1 - maybe incorrect parameters such as bit_rate, rate, width or height.

Is there any way to get around this? I have tried setting the bitrate of the audio but the problem seems to persist.

like image 368
Rikus Honey Avatar asked Jun 17 '15 17:06

Rikus Honey


1 Answers

I suggest you first check whether your .mkv file already has H.264/AAC streams in the first place. Because if it does, all you have to do is copy the streams and change the container:

ffmpeg -i input.mkv -c copy output.mp4

If it doesn't, you probably got rejected because your formats are not compatible with .mp4. Try the following to output H.264/AAC:

ffmpeg -i input.mkv -c:v libx264 -c:a aac output.mp4

But again, if your .mkv already contains H.264/AAC, USE THE FIRST SOLUTION. It'll be faster and will have a better quality.

like image 174
Ely Avatar answered Sep 19 '22 17:09

Ely