linux下ffmpeg 手机视频转换总结

 

ffmpeg版本:0.5.1 flv -> mp4  ->3gp

 

#截图:
./ffmpeg -i 视频文件 -y -ss 截图时间 -vframes 1 -f image2 -s 128x96 目标文件名;

#生成预览版:
./ffmpeg -i out.3gp -ss 00:00:00 -t 00:00:10 -s qcif -acodec copy -vcodec copy -y preview.3gp

 

#转换16:9 flv视频到 4:3的mp4视频

ffmpeg -i src.flv -vcodec libx264 -vpre normal -vpre baseline -coder 0 -threads 4 -s 320*180 -b 128k -r 15 -padbottom 30 -padtop 30 -f mp4 -y out.mp4

 

注:

    这几个参数保证能够在手机上面播放(必须指定h264解码器):

-vcodec libx264 -vpre normal -vpre baseline -coder 0

具体含义详见http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/

    这两个参数用于增加黑边

-padbottom 30 -padtop 30

 

#mp4转换为3gp

./ffmpeg -i test.mp4 -s qcif -ar 8000 -ac 1 -ab 12.2k -f 3gp -y test.3gp

 

至于ffmpeg的安装

可以参考http://www.code-life.com/read.php?61

新版的amr库在这里http://opencore-amr.sourceforge.net/

编译选项替换为

  • --enable-libopencore-amrnb
  • --enable-libopencore-amrwb
  •  

    最近的ffmpeg版本不知道为什么make的时候 会报错

    没有仔细看,只是把下面这段注释掉,竟然也可以用....

    #ifndef V
    #Q      = @
    #ECHO   = printf "$(1)/t%s/n" $(2)
    #BRIEF  = CC AS YASM AR LD HOSTCC STRIP CP
    #SILENT = DEPCC YASMDEP RM RANLIB
    #MSG    = $@
    #M      = @$(call ECHO,$(TAG),$@);
    #$(foreach VAR,$(BRIEF), /
    #    $(eval $(VAR) = @$$(call ECHO,$(VAR),$$(MSG)); $($(VAR))))
    #$(foreach VAR,$(SILENT),$(eval $(VAR) = @$($(VAR))))
    #$(eval INSTALL = @$(call ECHO,INSTALL,$$(^:$(SRC_DIR)/%=%)); $(INSTALL))
    #endif

    你可能感兴趣的:(linux,image,手机,flv)