2

I have this linux command line app called avcon. It is used to converting files. For instance if I have a file called video.mp4 I can run avconv -i video.mp4 video.ogg and it will convert this video.mp4 to video.ogg.

So my problem(question): Whenever it converts any file the output file's quality is super bad compared to the original video (the input video). How can I get around with that? I mean how can I convert the file and still get the same quality?

If this is not possible using this app. Can anybody suggest anything else for converting video files using the command line?

  • 2
    Use ffmpeg instead of avcon. But also, post the command line you're using. It's the settings that make the difference. – stib Jul 23 '15 at 11:43
2

Get ffmpeg

Download a recent build of ffmpeg. Binaries for Windows, Linux, and OS X are available on the FFmpeg Download page. Development is very active and there is no need to use buggy avconv (note that this answer was written for ffmpeg, so I'm not sure if any examples will work with avconv).

Theora video & Vorbis audio in OGG

Theora is old and has been superseded in many cases by VP8/VP9 video in WebM (see example below), so there are few reasons to use Theora in OGG/OGV.

ffmpeg -i input -c:v libtheora -q:v 5 -c:a libvorbis -q:a 5 output.ogv
  • -q:v – video quality. Range is 0-10, where 10 is highest quality. 5-7 is a good range to try. If you omit -q:v then ffmpeg will use the default of -b:v 200k which will most likely provide a poor quality output, and libtheora may drop/skip frames if the bitrate is too low.

  • -q:a – audio quality. Range is 0-10, where 10 is highest quality. 3-6 is a good range to try. Default is -q:a 3.

Adapted from FFmpeg Wiki: A Brief Theora and Vorbis Encoding Guide.

VP8 video & Vorbis audio in WebM

ffmpeg -i input -c:v libvpx -qmin 0 -qmax 50 -crf 5 -b:v 1M -c:a libvorbis -q:a 5 output.webm
1

Use:

$ avconv -i video.mp4 -vcodec copy video.ogg

this should work, the -vcodec copy option copies the video track from mp4 container into the ogg container.

If it does not work, see:

$ avconv -codecs

the -codecs option to see which are supported by your program. That depends on the libraries linked after compilation of the source.

See the manual:

$ man avconv

for more information on options like -r (video bit rate option).

That option allows you to select a better bit rate for video, a similar one to the source video may be a good choice, if it does not works fine, try a higher rate.

Although avconv is a development derived from a fork of FFmpeg it can still lack features and bug fixes that are present in ffmpeg.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.