Flash Media Live Encoder参数表

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

大部分 FMLECmd 操做都是须要一个 fmle_uid 参数的
fmle_uid 用来表示一个 encoding sessionsession

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

假如是存到档桉
fmle_uid = [档桉路径] + [档桉名称]
e.g. path-to-video\sample.flv工具

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

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

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:\ProgramData\Adobe\Flash Media Live Encoder 3.1\fmesessions.dat
WinXP - C:\Documents and Settings\All Users\Application Data\Adobe\Flash Media Live Encoder 3.1\fmesessions.dat
e.g. rtmp://127.0.0.1/test1+stream1#4508:0:0:0:0:0rest

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

从 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:\Profiles\my_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:\Profiles\my_profile.xml /l c:\my_log.txt /r
这样就会启动 encoding session 并将资料写入到
Win7 - C:\ProgramData\Adobe\Flash Media Live Encoder 3.1\OsLaunch.dat
WinXP - C:\Documents and Settings\All Users\Application Data\Adobe\Flash Media Live Encoder 3.1\OsLaunch.dat
e.g. rtmp://127.0.0.1/test1+stream1#FMLECmd.exe /p profiles\profile_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 ..\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 E:\VideoConvert\VideoConvert\VideoConvert\video\UpFiles\bikes.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:\flv\bikes.flv -o E:\flv\bikes1.flv
mencoder -ss 0:02 -endpos 0:20 -oac copy -ovc copy E:\flv\nose_bleed.mp4 -o E:\flv\bleed.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(音频数据流量,通常选择3二、6四、9六、128) -vol 200(200%的音量,本身改) -f psp(输出psp专用格式) -muxvb 768(好像是给PSP机器识别的码率,通常选择38四、512和768,我改为1500,PSP就说文件损坏了) "1.***"(输出文件名,也能够加路径改文件名)

相关文章
相关标签/搜索