1

I am trying to convert a GIF to a MP4. I am getting an error while doing that with specific parameters. What am I doing wrong? Any help would be nice. I would like a mp4 video with high quality, size is not a problem.

Command and log :

ffmpeg -i So_gehts.gif -c:v libvpx -crf 4 -b:v 500K output.mp4 ffmpeg version 2.7.6-0ubuntu0.15.10.1 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 5.2.1 (Ubuntu 5.2.1-22ubuntu2) 20151010 configuration: --prefix=/usr --extra-version=0ubuntu0.15.10.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-frei0r --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-openal --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libxvid --enable-libzvbi --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-libssh --enable-libsoxr --enable-libx264 --enable-libopencv --enable-libx265 libavutil 54. 27.100 / 54. 27.100 libavcodec 56. 41.100 / 56. 41.100 libavformat 56. 36.100 / 56. 36.100 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libavresample 2. 1. 0 / 2. 1. 0 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.100 / 1. 2.100 libpostproc 53. 3.100 / 53. 3.100 Input #0, gif, from 'So_gehts.gif': Duration: N/A, bitrate: N/A Stream #0:0: Video: gif, bgra, 374x461, 29.25 fps, 100 tbr, 100 tbn, 100 tbc File 'output.mp4' already exists. Overwrite ? [y/N] y [libvpx @ 0x16a5940] v1.4.0 [mp4 @ 0x168ec60] Could not find tag for codec vp8 in stream #0, codec not currently supported in container Output #0, mp4, to 'output.mp4': Metadata: encoder : Lavf56.36.100 Stream #0:0: Video: vp8 (libvpx), yuva420p, 374x461, q=-1--1, 500 kb/s, 100 fps, 100 tbn, 100 tbc Metadata: encoder : Lavc56.41.100 libvpx Stream mapping: Stream #0:0 -> #0:0 (gif (native) -> vp8 (libvpx)) Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument 

Any help would be nice. Thank you.

1 Answer 1

5

From your error message...

codec not currently supported in container 

I don't think you can use VP8 with an MP4. Try a different codec or container format? I've provided some examples with links to documentation below.

MP4 w/ x264:

ffmpeg -i So_gehts.gif -c:v libx264 -crf 4 -b:v 500K output.mp4 

MP4 w/ x264 (lossless):

ffmpeg -i So_gehts.gif -c:v libx264 -preset veryslow -qp 0 output.mp4 

WebM w/ VP8:

ffmpeg -i So_gehts.gif -c:v libvpx -crf 4 -b:v 1M output.webm 

WebM w/ VP9:

ffmpeg -i So_gehts.gif -c:v libvpx-vp9 -crf 0 -b:v 0 output.webm 
3
  • The libx264 worked. It has increased the size of the video, does it have any change in quality as well? Commented Apr 5, 2016 at 8:03
  • VP8/VP9 should be of comparable quality to x264. If you're curious, you can always create a WebM with VP8 and a WebM with VP9 and compare all three. Commented Apr 5, 2016 at 8:05
  • The mp4 didn't work in browser, had to use the webm. Thanks.. :-) Commented Apr 5, 2016 at 8:53

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.