• mencoder和ffmpeg参数详解


    Mencoder 转 flv
    mencoder -ffourcc FLV1 -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -of lavf -oac mp3lame -lameopts aq=9:cbr:br=64:vol=2 -ovc lavc -lavcopts vcodec=flv:vbitrate=200:acodec=mp3:abitrate=56 -vf scale=320:270,expand=320:270:::1,crop=320:270:0:0 -ofps 18 -srate 22050 input.xxx -o output.flv

    Mencoder 转 avi
    mencoder.exe -oac mp3lame -lameopts aq=7:cbr:br=64 -srate 32000 -vf scale=220:176 -ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=320 "input.xxx" -o "output.avi"
    mencoder ..\v\wmv.wmv -o ..\v\wmv-3.flv -of lavf -oac mp3lame -lameopts abr:br=56 -srate 22050 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3

    mencoder -oac mp3lame -lameopts aq=7:cbr:br=64 -srate 32000 -vf scale=220:176 -ovc lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=320 "input.xxx" -o "output.avi"

    mencoder -oac mp3lame -lameopts aq=7:cbr:br=64 -srate 22050  -vf scale=320:-3 -ovc xvid -xvidencopts bitrate=600     "wmv.wmv" -o "wmv.avi"  

    mencoder -oac lavc -lavcopts acodec=mp2:abitrate=64 -srate 22050  -vf scale=320:-3 -ofps 15 -ovc xvid -xvidencopts bitrate=400  rmvb.rmvb -o rmvb.avi

    mencoder 1.rmvb -oac mp3lame -lameopts preset=64 -ovc xvid -xvidencopts bitrate=600 -of avi -o rmvb.avi

    RMVB转FLVCODE
    mencoder -vf scale=320:240 -ffourcc FLV1 -of lavf -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -ovc lavc -lavcopts vcodec=flv:vbitrate=200 -srate 22050 -oac lavc -lavcopts acodec=mp3:abitrate=56 ok\1.rmvb -o ok\rmvb.flv

    利用ffmpeg的这两个参数,可以控制让ffmpeg来将一个大video劈分成许多小段的独立播放的文件。
    -ss time_off        set the start time offset
    -t duration         set the recording time

    Mencoder截段参数:
    -ss 0
    -endpos 120

    FFmpeg 转 3gp:
    ffmpeg -y -i **.** -ac 1 -acodec amr_nb -ar 8000 -ab 24 -s 128x96 [-vcodec mpeg4] -b 40k -r 8 **.3gp

    FFmpeg 转 flv:
    ffmpeg -i inputfile.xxx -ab 56 -ar 22050 -qmin 2 -qmax 16 -b 320k -r 15 -s 320x240 outputfile.flv

    FFmpeg截图参数
    对视频文件截图:
    ffmpeg -i xxx.xxx -y -f image2 -ss 8 -t 0.001 -s 350x240 xxx.jpg

    对已有flv截图:
    ffmpeg -i xxx.flv -y -f image2 -ss 8 -t 0.001 -s 350x240 xxx.jpg

    把视频的前30帧转换成一个Gif :
    ffmpeg -i xxx.xxx -vframes 30 -y -f gif xxx.gif

    截取从10秒开始持续10秒的片段

    FFmpeg 加水印 参数:
    ffmpeg -i inputfile.xxx -tagpict ":220:210" -ab 56 -ar 22050 -qmin 2 -qmax 16 -b 320k -r 15 -s 320x240 outputfile.flv

    水印参数说明:
    -tagpict ":220:210"
    (在ffmpeg所在目录中寻找0002.mjpg、mask.mjpg两个用作水印处理的图片文件,然后在指定的坐标,比如此处的:220:210,把水印在转码过程中添加到视频文件的每一桢上)

    AviSynth加水印:
    首先ffmpeg/Mencoder编译时需要--enable-avisynth;
    转换参数:ffmpeg -y -i 1.avs -b 320k rmvb-avs.flv
    1.avs编写格式:
    video = DirectShowSource("rmvb.rmvb",15).BilinearResize(320,240)
    logo = ImageSource("logo2.jpg")
    logomask = ImageSource("mask2.jpg")
    overlay(video,logo,mask=logomask)


    mencoder 转 flv 同时加字幕水印

    试了一下,可以加进去,但有些参数还设置不好.比如中文的字幕只显示成"_____",文件的各项设置
    cd mencoder
    mencoder ../file/test.mov -o ../flv/zbzbzb.flv -of lavf -oac mp3lame -lameopts abr:br=56
    -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:v4mv:last_pred=3 -subpos 5 -subfont
    -text-scale 10 -unicode -font c:\arial.ttf -sub ../file/test.srt -lavfopts
    i_certify_that_my_video_stream_does_not_use_b_frames -srate 22050
    pause
     
    上面是在一个批处理文件中执行的,所以写成这样子
     
    subpos 是说明字幕的位置:垂直方向上越大越靠下,水平方向的参数我没找到,最小0,最大100
    subfont-text-scale 设置字体的大小
    -unicode 文字编码方式,其他的没试过
    -font 字体文件
    -sub 你的字幕文件

  • 相关阅读:
    机器学习初篇(0.0)
    MQTT 入门介绍
    《八极拳谱》(李书文)
    Golang实战群:日志的处理机制
    【转】火山引擎 Redis 云原生实践
    【转】7000字前端性能优化总结 | 干货建议收藏
    微信小程序canvas绘制圆角边框
    【转】语义化版本 2.0.0
    Verdaccio私有 npm 服务器搭建及其配置
    【转】根据条件配置多个npm仓库
  • 原文地址:https://www.cnblogs.com/wucf2004/p/919523.html
Copyright © 2020-2023  润新知