zoukankan      html  css  js  c++  java
  • F​l​a​s​h​ ​M​e​d​i​a​ ​L​i​v​e​ ​E​n​c​o​d​e​r​参​数​表

    Flash Media Live Encoder命令行推流
    Flash Media Live Encoder Notes
    Flash Media Live Encoder 除了直接以 GUI 方式操作之外
    还能透过 Command Line 呼叫 FMLECmd 方式控制
    以下则是简单的笔记

    大部分 FMLECmd 操作都是需要一个 fmle_uid 参数的
    fmle_uid 用来表示一个 encoding session

    fmle_uid 格式定义
    假如是 rtmp streaming
    fmle_uid = + "+" +
    e.g. rtmp://fms.myserver.com/live+livestream//加号输命令时为+

    假如是存到档桉
    fmle_uid = [档桉路径] + [档桉名称]
    e.g. path-to-videosample.flv

    当一个 encoding session 同时编码数个 streams 时,用第一个 stream name 或是档名当作 fmle_uid

    列出目前已经开始的 encoding sessions
    FMLECmd /s
    输出结果范例

    Adobe(R) Flash(R) Media Live Encoder Command Line Utility v 3.1.0.8703
    Copyright(C) 2009-10 Adobe Systems Incorporated. All rights reserved.

    Tue Aug 24 2010 11:08:08 : All running FMLE sessions are:
    rtmp://127.0.0.1/test1+stream1
    它每次都会输出 Adobe 版权宣告
    不喜欢的话也可以自己到以下位置去读取文字档桉取得 encoding sessions

    Win7 - C:ProgramDataAdobeFlash Media Live Encoder 3.1fmesessions.dat
    WinXP - C:Documents and SettingsAll UsersApplication DataAdobeFlash Media Live Encoder 3.1fmesessions.dat
    e.g. rtmp://127.0.0.1/test1+stream1#4508:0:0:0:0:0

    停止一个 encoding session
    FMLEcmd /s
    以 Profile.xml 启动 encoding session
    FMLEcmd /p c:Profilesmy_profile.xml /l c:Logsmy_log.txt
    自动维护重启
    Flash Media Live Encoder 被认证过能够连续执行 7 天的
    假如计画跑 7 天以上,最好是固定时间排程自动维护并重启

    从 profile.xml 档桉内设定

    <restartinterval>
    <days>dd</days>
    <hours>hh</hours>
    <minutes>mm</minutes>
    </restartinterval>
    从 command line 参数设定

    FMLEcmd /t dd:hh:mm
    e.g. 4 天 10 小时 30 分后重启
    FMLEcmd /p c:Profilesmy_profile.xml /ap myid:mypassword /t 04:10:30
    command line 参数会盖过 xml 的设定

    系统开机时重启
    因为 FMLELauncher.exe 有 Bug,这部分功能没办法正常使用
    其实它做的事情也只不过是把 command line 存起来,待下次开机执行而已
    很多替代方桉可以用
    下面还是介绍一下使用方式

    Windows 开始 > 所有程式 > 附属应用程式 > 系统工具 > 工作排程器
    建立一个新的工作指向 FMLELauncher.exe
    并于系统开机时执行

    注册一个自动重启的 encoding session 于 command line 启动 encoding session 后加上 /r
    FMLEcmd /p c:Profilesmy_profile.xml /l c:my_log.txt /r
    这样就会启动 encoding session 并将资料写入到
    Win7 - C:ProgramDataAdobeFlash Media Live Encoder 3.1OsLaunch.dat
    WinXP - C:Documents and SettingsAll UsersApplication DataAdobeFlash Media Live Encoder 3.1OsLaunch.dat
    e.g. rtmp://127.0.0.1/test1+stream1#FMLECmd.exe /p profilesprofile_audio.xml

    待系统重开时,自动还原注册过的 encoding session

    列出已注册 encoding session

    FMLEcmd /u
    取消注册 encoding session

    FMLEcmd /u
    DVR - digital video recording
    DVR 播放功能可以让使用者倒转并暂停 live stream
    稍后可以再从暂停的位置 resume 播放
    FMLE 可以在 Live 编码情况下启动与停止这功能

    在这裡 FMLE 仅仅只是转发送 DVR 相关命令到 FMS Application 而已
    还需要搭配 FMS DVRCast Application 才有效果

    立即启动一个 encoding session 的 DVR 录影

    FMLEcmd /dvrstart
    fmle_uid 参数是选择性的,假如没有提供 fmle_uid
    会启动一个新的 encoding session,DVR 录影也会同时启动

    立即停止一个 encoding session 的 DVR 录影

    FMLEcmd /dvrstop
    回传 encoding session 的 state

    FMLEcmd /dvrstate
    -------------------------------------------------------------
    2010-03-08 23:04 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 ..vwmv.wmv -o ..vwmv-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 ok1.rmvb -o ok mvb.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 E:VideoConvertVideoConvertVideoConvertvideoUpFilesikes.flv -y -f image2 -ss 8 -t 0.001 -s 350x240 222.jpg
    对视频裁剪
    mencoder -ss 0:02 -endpos 0:40 -oac copy -ovc copy E:flvikes.flv -o E:flvikes1.flv
    mencoder -ss 0:02 -endpos 0:20 -oac copy -ovc copy E:flv ose_bleed.mp4 -o E:flvleed.flv
    把视频的前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 你的字幕文件


    例子:ffmpeg -y -i "1.avi" -title "Test" -vcodec xvid -s 368x208 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 "1.***"

    解释:以上命令可以在Dos命令行中输入,也可以创建到批处理文件中运行。不过,前提是:要在ffmpeg所在的目录中执行(转换君所在目录下面的cores子目录)。
    参数:
    -y(覆盖输出文件,即如果1.***文件已经存在的话,不经提示就覆盖掉了)
    -i "1.avi"(输入文件是和ffmpeg在同一目录下的1.avi文件,可以自己加路径,改名字)
    -title "Test"(在PSP中显示的影片的标题)
    -vcodec xvid(使用XVID编码压缩视频,不能改的)
    -s 368x208(输出的分辨率为368x208,注意片源一定要是16:9的不然会变形)
    -r 29.97(帧数,一般就用这个吧)
    -b 1500(视频数据流量,用-b xxxx的指令则使用固定码率,数字随便改,1500以上没效果;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高)
    -acodec aac(音频编码用AAC)
    -ac 2(声道数1或2)
    -ar 24000(声音的采样频率,好像PSP只能支持24000Hz)
    -ab 128(音频数据流量,一般选择32、64、96、128)
    -vol 200(200%的音量,自己改)
    -f psp(输出psp专用格式)
    -muxvb 768(好像是给PSP机器识别的码率,一般选择384、512和768,我改成1500,PSP就说文件损坏了)
    "1.***"(输出文件名,也可以加路径改文件名)

  • 相关阅读:
    vb.net structure 定义静态数组
    调色板原理 & 编程
    CView::OnPreparePrinting
    MFC单文档程序架构解析
    基于Eclipse远程调试解决的预上线首页打开特别慢的问题
    Shiro Filter引发的思考
    Shiro Filter中利用Callable和Runnable的委派模式
    Shiro DefaultFilter
    防止Form表单重复提交的客户端及服务器端的方式
    Shiro Filter的设计概念
  • 原文地址:https://www.cnblogs.com/youlechang123/p/3853629.html
Copyright © 2011-2022 走看看