Video Conversion in Linux.

Monday, June 1, 2009

Hi, today I will tell u how to convert a video from one format 2 other, in Linux.

We will use a open-source video convertor known as “ffmpeg” (don't think that bcoz it got mpeg name in it can convert only to mpeg ,it convert any video format to nay format u wish for) ffmpeg is a command line tool so here are the instruction on how to use it.


Step1: Open Terminal.

Step2: cd to the directory where the video that u want to convert is located.

Step3: type $ ffmpeg -i input.ext output.ext (note="input" reffers to file name of video to be converted, "output" reffers to file name of converted video file, "ext" reffers to video format like avi,flv,etc.)and press enter thats it ur video gets converted!!!! is int it easy??? of-course it is.

Now u may say when u do video conversion in windows u get many options like to set quality and frame rate, etc well u can do that in Linux from Terminal too!!!


If u want to convert an avi file to flv with 360 video bitrate and 128 audio bitrate then u type this in Terminal.

$ ffmpeg -i input.avi -b 360 -ab 128 output.flv


Video Help.



There are lot of preference and usage of ffmpeg available. Here are they:


usage: ffmpeg [[infile options] -i infile]... {[outfile options] outfile}...

Hyper fast Audio and Video encoder


Main options:

-L show license

-h show help

-version show version

-formats show available formats, codecs, protocols, ...

-f fmt force format

-i filename input file name

-y overwrite output files

-t duration record or transcode "duration" seconds of audio/video

-fs limit_size set the limit file size in bytes

-ss time_off set the start time offset

-itsoffset time_off set the input ts offset

-itsscale stream:scale set the input ts scale

-title string set the title

-timestamp time set the timestamp

-author string set the author

-copyright string set the copyright

-comment string set the comment

-genre string set the genre

-album string set the album

-dframes number set the number of data frames to record

-v number set the logging verbosity level

-target type specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)

-xerror exit on error


Advanced options:

-map file:stream[:syncfile:syncstream] set input stream mapping

-map_meta_data outfile:infile set meta data information of outfile from infile

-benchmark add timings for benchmarking

-dump dump each input packet

-hex when dumping packets, also dump the payload

-re read input at native frame rate

-loop_input loop (current only works with images)

-loop_output number of times to loop output in formats that support looping (0 loops forever)

-threads count thread count

-vsync video sync method

-async audio sync method

-adrift_threshold threshold audio drift threshold

-vglobal video global header storage type

-copyts copy timestamps

-shortest finish encoding within shortest input

-dts_delta_threshold threshold timestamp discontinuity delta threshold

-programid desired program number

-muxdelay seconds set the maximum demux-decode delay

-muxpreload seconds set the initial demux-decode delay


Video options:

-b bitrate set bitrate (in bits/s)

-vb bitrate set bitrate (in bits/s)

-vframes number set the number of video frames to record

-r rate set frame rate (Hz value, fraction or abbreviation)

-s size set frame size (WxH or abbreviation)

-aspect aspect set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)

-croptop size set top crop band size (in pixels)

-cropbottom size set bottom crop band size (in pixels)

-cropleft size set left crop band size (in pixels)

-cropright size set right crop band size (in pixels)

-padtop size set top pad band size (in pixels)

-padbottom size set bottom pad band size (in pixels)

-padleft size set left pad band size (in pixels)

-padright size set right pad band size (in pixels)

-padcolor color set color of pad bands (Hex 000000 thru FFFFFF)

-vn disable video

-vcodec codec force video codec ('copy' to copy stream)

-sameq use same video quality as source (implies VBR)

-pass n select the pass number (1 or 2)

-passlogfile file select two pass log file name

-newvideo add a new video stream to the current output stream


Advanced Video options:

-pix_fmt format set pixel format, 'list' as argument shows all the pixel formats supported

-intra use only intra frames

-vdt n discard threshold

-qscale q use fixed video quantizer scale (VBR)

-rc_override override rate control override for specific intervals

-me_threshold threshold motion estimaton threshold

-deinterlace deinterlace pictures

-psnr calculate PSNR of compressed frames

-vstats dump video coding statistics to file

-vstats_file file dump video coding statistics to file

-vhook module insert video processing module

-intra_matrix matrix specify intra matrix coeffs

-inter_matrix matrix specify inter matrix coeffs

-top top=1/bottom=0/auto=-1 field first

-dc precision intra_dc_precision

-vtag fourcc/tag force video tag/fourcc

-qphist show QP histogram

-vbsf bitstream_filter

-vpre preset


Audio options:

-ab bitrate set bitrate (in bits/s)

-aframes number set the number of audio frames to record

-aq quality set audio quality (codec-specific)

-ar rate set audio sampling rate (in Hz)

-ac channels set number of audio channels

-an disable audio

-acodec codec force audio codec ('copy' to copy stream)

-vol volume change audio volume (256=normal)

-newaudio add a new audio stream to the current output stream

-alang code set the ISO 639 language code (3 letters) of the current audio stream


Advanced Audio options:

-atag fourcc/tag force audio tag/fourcc

-sample_fmt format set sample format, 'list' as argument shows all the sample formats supported

-absf bitstream_filter

-apre preset


Subtitle options:

-sn disable subtitle

-scodec codec force subtitle codec ('copy' to copy stream)

-newsubtitle add a new subtitle stream to the current output stream

-slang code set the ISO 639 language code (3 letters) of the current subtitle stream

-sbsf bitstream_filter

-spre preset


Audio/Video grab options:

-vc channel set video grab channel (DV1394 only)

-tvstd standard set television standard (NTSC, PAL (SECAM))

-isync sync read on input


AVCodecContext AVOptions:

-b E.V.. set bitrate (in bits/s)

-ab E..A. set bitrate (in bits/s)

-bt E.V.. set video bitrate tolerance (in bits/s)

-flags EDVA.

mv4 E.V.. use four motion vector by macroblock (mpeg4)

obmc E.V.. use overlapped block motion compensation (h263+)

qpel E.V.. use 1/4 pel motion compensation

loop E.V.. use loop filter

gmc E.V.. use gmc

mv0 E.V.. always try a mb with mv=<0,0>

part E.V.. use data partitioning

gray EDV.. only decode/encode grayscale

psnr E.V.. error[?] variables will be set during encoding

naq E.V.. normalize adaptive quantization

ildct E.V.. use interlaced dct

low_delay EDV.. force low delay

alt E.V.. enable alternate scantable (mpeg2/mpeg4)

trell E.V.. use trellis quantization

global_header E.VA. place global headers in extradata instead of every keyframe

bitexact EDVAS use only bitexact stuff (except (i)dct)

aic E.V.. h263 advanced intra coding / mpeg4 ac prediction

umv E.V.. use unlimited motion vectors

cbp E.V.. use rate distortion optimization for cbp

qprd E.V.. use rate distortion optimization for qp selection

aiv E.V.. h263 alternative inter vlc

slice E.V..

ilme E.V.. interlaced motion estimation

scan_offset E.V.. will reserve space for svcd scan offset user data

cgop E.V.. closed gop

-me_method E.V.. set motion estimation method

zero E.V.. zero motion estimation (fastest)

full E.V.. full motion estimation (slowest)

epzs E.V.. EPZS motion estimation (default)

esa E.V.. esa motion estimation (alias for full)

tesa E.V.. tesa motion estimation

dia E.V.. dia motion estimation (alias for epzs)

log E.V.. log motion estimation

phods E.V.. phods motion estimation

x1 E.V.. X1 motion estimation

hex E.V.. hex motion estimation

umh E.V.. umh motion estimation

iter E.V.. iter motion estimation

-me E.V.. set motion estimation method (deprecated, use me_method instead)

zero E.V.. zero motion estimation (fastest)

full E.V.. full motion estimation (slowest)

epzs E.V.. EPZS motion estimation (default)

esa E.V.. esa motion estimation (alias for full)

tesa E.V.. tesa motion estimation

dia E.V.. dia motion estimation (alias for epzs)

log E.V.. log motion estimation

phods E.V.. phods motion estimation

x1 E.V.. X1 motion estimation

hex E.V.. hex motion estimation

umh E.V.. umh motion estimation

iter E.V.. iter motion estimation

-g E.V.. set the group of picture size

-cutoff E..A. set cutoff bandwidth

-frame_size E..A.

-qcomp E.V.. video quantizer scale compression (VBR)

-qblur E.V.. video quantizer scale blur (VBR)

-qmin E.V.. min video quantizer scale (VBR)

-qmax E.V.. max video quantizer scale (VBR)

-qdiff E.V.. max difference between the quantizer scale (VBR)

-bf E.V.. use 'frames' B frames

-b_qfactor E.V.. qp factor between p and b frames

-rc_strategy E.V.. ratecontrol method

-b_strategy E.V.. strategy to choose between I/P/B-frames

-hurry_up .DV..

-ps E.V.. rtp payload size in bits

-bug .DV.. workaround not auto detected encoder bugs

autodetect .DV..

old_msmpeg4 .DV.. some old lavc generated msmpeg4v3 files (no autodetection)

xvid_ilace .DV.. Xvid interlacing bug (autodetected if fourcc==XVIX)

ump4 .DV.. (autodetected if fourcc==UMP4)

no_padding .DV.. padding bug (autodetected)

amv .DV..

ac_vlc .DV.. illegal vlc bug (autodetected per fourcc)

qpel_chroma .DV..

std_qpel .DV.. old standard qpel (autodetected per fourcc/version)

qpel_chroma2 .DV..

direct_blocksize .DV.. direct-qpel-blocksize bug (autodetected per fourcc/version)

edge .DV.. edge padding bug (autodetected per fourcc/version)

hpel_chroma .DV..

dc_clip .DV..

ms .DV.. workaround various bugs in microsofts broken decoders

-lelim E.V.. single coefficient elimination threshold for luminance (negative values also consider dc coefficient)

-celim E.V.. single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)

-strict EDVA. how strictly to follow the standards

very EDV.. strictly conform to a older more strict version of the spec or reference software

strict EDV.. strictly conform to all the things in the spec no matter what consequences

normal EDV..

inofficial EDV.. allow inofficial extensions

experimental EDV.. allow non standardized experimental things

-b_qoffset E.V.. qp offset between P and B frames

-er .DVA. set error resilience strategy

careful .DV..

compliant .DV..

aggressive .DV..

very_aggressive .DV..

-mpeg_quant E.V.. use MPEG quantizers instead of H.263

-qsquish E.V.. how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)

-rc_qmod_amp E.V.. experimental quantizer modulation

-rc_qmod_freq E.V.. experimental quantizer modulation

-rc_eq E.V.. set rate control equation

-maxrate E.V.. set max video bitrate tolerance (in bits/s)

-minrate E.V.. set min video bitrate tolerance (in bits/s)

-bufsize E.VA. set ratecontrol buffer size (in bits)

-rc_buf_aggressivity E.V.. currently useless

-i_qfactor E.V.. qp factor between P and I frames

-i_qoffset E.V.. qp offset between P and I frames

-rc_init_cplx E.V.. initial complexity for 1-pass encoding

-dct E.V.. DCT algorithm

auto E.V.. autoselect a good one (default)

fastint E.V.. fast integer

int E.V.. accurate integer

mmx E.V..

mlib E.V..

altivec E.V..

faan E.V.. floating point AAN DCT

-lumi_mask E.V.. compresses bright areas stronger than medium ones

-tcplx_mask E.V.. temporal complexity masking

-scplx_mask E.V.. spatial complexity masking

-p_mask E.V.. inter masking

-dark_mask E.V.. compresses dark areas stronger than medium ones

-idct EDV.. select IDCT implementation

auto EDV..

int EDV..

simple EDV..

simplemmx EDV..

libmpeg2mmx EDV..

ps2 EDV..

mlib EDV..

arm EDV..

altivec EDV..

sh4 EDV..

simplearm EDV..

simplearmv5te EDV..

simplearmv6 EDV..

h264 EDV..

vp3 EDV..

ipp EDV..

xvidmmx EDV..

faani EDV.. floating point AAN IDCT

-ec .DV.. set error concealment strategy

guess_mvs .DV.. iterative motion vector (MV) search (slow)

deblock .DV.. use strong deblock filter for damaged MBs

-pred E.V.. prediction method

left E.V..

plane E.V..

median E.V..

-aspect E.V.. sample aspect ratio

-debug EDVAS print specific debug info

pict .DV.. picture info

rc E.V.. rate control

bitstream .DV..

mb_type .DV.. macroblock (MB) type

qp .DV.. per-block quantization parameter (QP)

mv .DV.. motion vector

dct_coeff .DV..

skip .DV..

startcode .DV..

pts .DV..

er .DV.. error resilience

mmco .DV.. memory management control operations (H.264)

bugs .DV..

vis_qp .DV.. visualize quantization parameter (QP), lower QP are tinted greener

vis_mb_type .DV.. visualize block types

buffers .DV.. picture buffer allocations

-vismv .DV.. visualize motion vectors (MVs)

pf .DV.. forward predicted MVs of P-frames

bf .DV.. forward predicted MVs of B-frames

bb .DV.. backward predicted MVs of B-frames

-mb_qmin E.V.. obsolete, use qmin

-mb_qmax E.V.. obsolete, use qmax

-cmp E.V.. full pel me compare function

sad E.V.. sum of absolute differences, fast (default)

sse E.V.. sum of squared errors

satd E.V.. sum of absolute Hadamard transformed differences

dct E.V.. sum of absolute DCT transformed differences

psnr E.V.. sum of squared quantization errors (avoid, low quality)

bit E.V.. number of bits needed for the block

rd E.V.. rate distortion optimal, slow

zero E.V.. 0

vsad E.V.. sum of absolute vertical differences

vsse E.V.. sum of squared vertical differences

nsse E.V.. noise preserving sum of squared differences

w53 E.V.. 5/3 wavelet, only used in snow

w97 E.V.. 9/7 wavelet, only used in snow

dctmax E.V..

chroma E.V..

-subcmp E.V.. sub pel me compare function

sad E.V.. sum of absolute differences, fast (default)

sse E.V.. sum of squared errors

satd E.V.. sum of absolute Hadamard transformed differences

dct E.V.. sum of absolute DCT transformed differences

psnr E.V.. sum of squared quantization errors (avoid, low quality)

bit E.V.. number of bits needed for the block

rd E.V.. rate distortion optimal, slow

zero E.V.. 0

vsad E.V.. sum of absolute vertical differences

vsse E.V.. sum of squared vertical differences

nsse E.V.. noise preserving sum of squared differences

w53 E.V.. 5/3 wavelet, only used in snow

w97 E.V.. 9/7 wavelet, only used in snow

dctmax E.V..

chroma E.V..

-mbcmp E.V.. macroblock compare function

sad E.V.. sum of absolute differences, fast (default)

sse E.V.. sum of squared errors

satd E.V.. sum of absolute Hadamard transformed differences

dct E.V.. sum of absolute DCT transformed differences

psnr E.V.. sum of squared quantization errors (avoid, low quality)

bit E.V.. number of bits needed for the block

rd E.V.. rate distortion optimal, slow

zero E.V.. 0

vsad E.V.. sum of absolute vertical differences

vsse E.V.. sum of squared vertical differences

nsse E.V.. noise preserving sum of squared differences

w53 E.V.. 5/3 wavelet, only used in snow

w97 E.V.. 9/7 wavelet, only used in snow

dctmax E.V..

chroma E.V..

-ildctcmp E.V.. interlaced dct compare function

sad E.V.. sum of absolute differences, fast (default)

sse E.V.. sum of squared errors

satd E.V.. sum of absolute Hadamard transformed differences

dct E.V.. sum of absolute DCT transformed differences

psnr E.V.. sum of squared quantization errors (avoid, low quality)

bit E.V.. number of bits needed for the block

rd E.V.. rate distortion optimal, slow

zero E.V.. 0

vsad E.V.. sum of absolute vertical differences

vsse E.V.. sum of squared vertical differences

nsse E.V.. noise preserving sum of squared differences

w53 E.V.. 5/3 wavelet, only used in snow

w97 E.V.. 9/7 wavelet, only used in snow

dctmax E.V..

chroma E.V..

-dia_size E.V.. diamond type & size for motion estimation

-last_pred E.V.. amount of motion predictors from the previous frame

-preme E.V.. pre motion estimation

-precmp E.V.. pre motion estimation compare function

sad E.V.. sum of absolute differences, fast (default)

sse E.V.. sum of squared errors

satd E.V.. sum of absolute Hadamard transformed differences

dct E.V.. sum of absolute DCT transformed differences

psnr E.V.. sum of squared quantization errors (avoid, low quality)

bit E.V.. number of bits needed for the block

rd E.V.. rate distortion optimal, slow

zero E.V.. 0

vsad E.V.. sum of absolute vertical differences

vsse E.V.. sum of squared vertical differences

nsse E.V.. noise preserving sum of squared differences

w53 E.V.. 5/3 wavelet, only used in snow

w97 E.V.. 9/7 wavelet, only used in snow

dctmax E.V..

chroma E.V..

-pre_dia_size E.V.. diamond type & size for motion estimation pre-pass

-subq E.V.. sub pel motion estimation quality

-me_range E.V.. limit motion vectors range (1023 for DivX player)

-ibias E.V.. intra quant bias

-pbias E.V.. inter quant bias

-coder E.V..

vlc E.V.. variable length coder / huffman coder

ac E.V.. arithmetic coder

raw E.V.. raw (no encoding)

rle E.V.. run-length coder

deflate E.V.. deflate-based coder

-context E.V.. context model

-mbd E.V.. macroblock decision algorithm (high quality mode)

simple E.V.. use mbcmp (default)

bits E.V.. use fewest bits

rd E.V.. use best rate distortion

-sc_threshold E.V.. scene change threshold

-lmin E.V.. min lagrange factor (VBR)

-lmax E.V.. max lagrange factor (VBR)

-nr E.V.. noise reduction

-rc_init_occupancy E.V.. number of bits which should be loaded into the rc buffer before decoding starts

-inter_threshold E.V..

-flags2 EDVA.

fast E.V.. allow non spec compliant speedup tricks

sgop E.V.. strictly enforce gop size

noout E.V.. skip bitstream encoding

local_header E.V.. place global headers at every keyframe instead of in extradata

bpyramid E.V.. allows B-frames to be used as references for predicting

wpred E.V.. weighted biprediction for b-frames (H.264)

mixed_refs E.V.. one reference per partition, as opposed to one reference per macroblock

dct8x8 E.V.. high profile 8x8 transform (H.264)

fastpskip E.V.. fast pskip (H.264)

aud E.V.. access unit delimiters (H.264)

brdo E.V.. b-frame rate-distortion optimization

skiprd E.V.. RD optimal MB level residual skipping

ivlc E.V.. intra vlc table

drop_frame_timecode E.V..

non_linear_q E.V.. use non linear quantizer

reservoir E..A. use bit reservoir

-error E.V..

-antialias .DV.. MP3 antialias algorithm

auto .DV..

fastint .DV..

int .DV..

float .DV..

-qns E.V.. quantizer noise shaping

-threads EDV..

-mb_threshold E.V.. macroblock threshold

-dc E.V.. intra_dc_precision

-nssew E.V.. nsse weight

-skip_top .DV.. number of macroblock rows at the top which are skipped

-skip_bottom .DV.. number of macroblock rows at the bottom which are skipped

-profile E.VA.

unknown E.VA.

aac_main E..A.

aac_low E..A.

aac_ssr E..A.

aac_ltp E..A.

-level E.VA.

unknown E.VA.

-lowres .DV.. decode at 1= 1/2, 2=1/4, 3=1/8 resolutions

-skip_threshold E.V.. frame skip threshold

-skip_factor E.V.. frame skip factor

-skip_exp E.V.. frame skip exponent

-skipcmp E.V.. frame skip compare function

sad E.V.. sum of absolute differences, fast (default)

sse E.V.. sum of squared errors

satd E.V.. sum of absolute Hadamard transformed differences

dct E.V.. sum of absolute DCT transformed differences

psnr E.V.. sum of squared quantization errors (avoid, low quality)

bit E.V.. number of bits needed for the block

rd E.V.. rate distortion optimal, slow

zero E.V.. 0

vsad E.V.. sum of absolute vertical differences

vsse E.V.. sum of squared vertical differences

nsse E.V.. noise preserving sum of squared differences

w53 E.V.. 5/3 wavelet, only used in snow

w97 E.V.. 9/7 wavelet, only used in snow

dctmax E.V..

chroma E.V..

-border_mask E.V.. increases the quantizer for macroblocks close to borders

-mblmin E.V.. min macroblock lagrange factor (VBR)

-mblmax E.V.. max macroblock lagrange factor (VBR)

-mepc E.V.. motion estimation bitrate penalty compensation (1.0 = 256)

-skip_loop_filter .DV..

none .DV..

default .DV..

noref .DV..

bidir .DV..

nokey .DV..

all .DV..

-skip_idct .DV..

none .DV..

default .DV..

noref .DV..

bidir .DV..

nokey .DV..

all .DV..

-skip_frame .DV..

none .DV..

default .DV..

noref .DV..

bidir .DV..

nokey .DV..

all .DV..

-bidir_refine E.V.. refine the two motion vectors used in bidirectional macroblocks

-brd_scale E.V.. downscales frames for dynamic B-frame decision

-crf E.V.. enables constant quality mode, and selects the quality (x264)

-cqp E.V.. constant quantization parameter rate control method

-keyint_min E.V.. minimum interval between IDR-frames (x264)

-refs E.V.. reference frames to consider for motion compensation (Snow)

-chromaoffset E.V.. chroma qp offset from luma

-bframebias E.V.. influences how often B-frames are used

-trellis E.VA. rate-distortion optimal quantization

-directpred E.V.. direct mv prediction mode - 0 (none), 1 (spatial), 2 (temporal)

-complexityblur E.V.. reduce fluctuations in qp (before curve compression)

-deblockalpha E.V.. in-loop deblocking filter alphac0 parameter

-deblockbeta E.V.. in-loop deblocking filter beta parameter

-partitions E.V.. macroblock subpartition sizes to consider

parti4x4 E.V..

parti8x8 E.V..

partp4x4 E.V..

partp8x8 E.V..

partb8x8 E.V..

-sc_factor E.V.. multiplied by qscale for each frame and added to scene_change_score

-mv0_threshold E.V..

-b_sensitivity E.V.. adjusts sensitivity of b_frame_strategy 1

-compression_level E.VA.

-use_lpc E..A. sets whether to use LPC mode (FLAC)

-lpc_coeff_precision E..A. LPC coefficient precision (FLAC)

-min_prediction_order E..A.

-max_prediction_order E..A.

-prediction_order_method E..A. search method for selecting prediction order

-min_partition_order E..A.

-max_partition_order E..A.

-timecode_frame_start E.V.. GOP timecode frame start number, in non drop frame format

-request_channels .D.A. set desired number of audio channels

-drc_scale .D.A. percentage of dynamic range compression to apply


AVFormatContext AVOptions:

-probesize .D...

-muxrate E.... set mux rate

-packetsize E.... set packet size

-fflags ED...

ignidx .D... ignore index

genpts .D... generate pts

-track E.... set the track number

-year E.... set the year

-analyzeduration .D... how many microseconds are analyzed to estimate duration

-cryptokey .D... decryption key

-indexmem .D... max memory used for timestamp index (per stream)

-rtbufsize .D... max memory used for buffering real-time frames

-fdebug ED... print specific debug info

ts ED...


SWScaler AVOptions:

-sws_flags E.V.. scaler/cpu flags

fast_bilinear E.V.. fast bilinear

bilinear E.V.. bilinear

bicubic E.V.. bicubic

experimental E.V.. experimental

neighbor E.V.. nearest neighbor

area E.V.. averaging area

bicublin E.V.. luma bicubic, chroma bilinear

gauss E.V.. gaussian

sinc E.V.. sinc

lanczos E.V.. lanczos

spline E.V.. natural bicubic spline

print_info E.V.. print info

accurate_rnd E.V.. accurate rounding

mmx E.V.. MMX SIMD acceleration

mmx2 E.V.. MMX2 SIMD acceleration

3dnow E.V.. 3DNOW SIMD acceleration

altivec E.V.. AltiVec SIMD acceleration

bfin E.V.. Blackfin SIMD acceleration

full_chroma_int E.V.. full chroma interpolation

full_chroma_inp E.V.. full chroma input

bitexact E.V..

0 comments:

Post a Comment