I have converted several GIFs
to webM
files using ffmpeg
on my Ubuntu 14.04 server.
Heres the code I used for conversation.
ffmpeg -i your_gif.gif -c:v libvpx -crf 12 -b:v 500K output.webm
source https://gist.github.com/ndarville/10010916
The problem is converted webM files shows perfectly fine on PCs but on my mobile it shows with green and purple shadows.
PC
Mobile
I tried changing -crf
and -b:v
values to their max but nothing happens.
webM file: http://d1pnsuxwa0it39.cloudfront.net/uploads/comments/webm/4673555.webm
edit:
also I can see webM files on some other sites fine. I think this has to do something with the way I convert files.
edit:
I have tried another code I found on stackoverflow but still the same.
ffmpeg -f gif -i infile.gif outfile.mp4
EDIT:
If anyone think this has something to do with the way I installed FFMPEG, I followed the steps on FFMPEG official docs.
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu
EDIT:
Input file:
http://d1pnsuxwa0it39.cloudfront.net/test/1.gif
Output file:
http://d1pnsuxwa0it39.cloudfront.net/test/output.webm
FFMPEG CLI output
/home/naveencg/bin/ffmpeg -i 1.gif -c:v libvpx -crf 12 -b:v 500K output.webm
ffmpeg version 2.5.git Copyright (c) 2000-2014 the FFmpeg developers
built on Dec 31 2014 14:37:15 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --prefix=/home/naveencg/ffmpeg_build --extra-cflags=-I/home/naveencg/ffmpeg_build/include --extra-ldflags=-L/home/naveencg/ffmpeg_build/lib --bindir=/home/naveencg/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree
libavutil 54. 15.100 / 54. 15.100
libavcodec 56. 19.100 / 56. 19.100
libavformat 56. 16.102 / 56. 16.102
libavdevice 56. 3.100 / 56. 3.100
libavfilter 5. 6.100 / 5. 6.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, gif, from '1.gif':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: gif, bgra, 350x169, 25 fps, 25 tbr, 100 tbn, 100 tbc
[libvpx @ 0x1e2bf60] v1.3.0
Output #0, webm, to 'output.webm':
Metadata:
encoder : Lavf56.16.102
Stream #0:0: Video: vp8 (libvpx), yuva420p, 350x169, q=-1--1, 500 kb/s, 25 fps, 1k tbn, 25 tbc
Metadata:
encoder : Lavc56.19.100 libvpx
Stream mapping:
Stream #0:0 -> #0:0 (gif (native) -> vp8 (libvpx))
Press [q] to stop, [?] for help
frame= 21 fps=0.0 q=0.0 size= 58kB time=00:00:00.84 bitrate= 569.7kbits/sframe= 44 fps= 41 q=0.0 size= 110kB time=00:00:01.76 bitrate= 512.4kbits/sframe= 62 fps= 39 q=0.0 size= 153kB time=00:00:02.48 bitrate= 505.9kbits/sframe= 84 fps= 40 q=0.0 size= 210kB time=00:00:03.36 bitrate= 510.8kbits/sframe= 88 fps= 41 q=0.0 Lsize= 218kB time=00:00:03.52 bitrate= 508.3kbits/s
video:216kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.971527%