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-video\sample.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:\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:0

停止一个 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 天以上,最好是固定时间排程自动维护并重启

从 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(音频数据流量,一般选择32、64、96、128)
-vol 200(200%的音量,自己改)
-f psp(输出psp专用格式)
-muxvb 768(好像是给PSP机器识别的码率,一般选择384、512和768,我改成1500,PSP就说文件损坏了)
"1.***"(输出文件名,也可以加路径改文件名)

F?l?a?s?h? ?M?e?d?i?a? ?L?i?v?e? ?E?n?c?o?d?e?r?参?数?表

时间: 2024-12-17 09:44:24

F?l?a?s?h? ?M?e?d?i?a? ?L?i?v?e? ?E?n?c?o?d?e?r?参?数?表的相关文章

W?i?n?下?h?t?t?p?d?+?p?h?p?+?m?y?s?q?l?环?境?集?成

apache+php+mysql: php下载:  VC6就是legacy Visual Studio 6 compiler,就是使用这个编译器编译的,  VC9就是the Visual Studio 2008 compiler,就是用微软的VS编辑器编译的  如果你选用的是Apache或者其他服务软件,那么选择VC6,选用的是IIS的话,那么请下载VC9的.  Thread Safe 是线程安全,  Non Thread Safe就是非线程安全,   官方并不建议你将Non Thread Sa

c?#?中 ?s?o?c?k?e?t? ?、?T?C?P?C?l?i?e?n?t?、?T?C?P?L?i?s?t?e?n?e?r? ?用?法?详?解

Visual C#.Net网络程序开发-Socket篇 Microsoft.Net Framework为应用程序访问Internet提供了分层的.可扩展的以及受管辖的网络服务,其名字空间System.Net和System.Net.Sockets包含丰富的类可以开发多种网络应用程序..Net类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要--从socket套接字到普通的请求/响应,更重要的是,这种分

P?D?F?二?次?开?发?_?i?S?t?y?l?e?P?D?F?表?单?域?的?填?充

wo讲到PDF表单,我们首先需要认识Adobe定义的PDF表单有哪些.以下是我从网上搜索到的简单介绍: PDF 表单简介 PDF 是可移植文档格式(Portable Document Format)的缩写,这是由 Adobe Systems Inc 开发的文件格 式.PDF 将从各种桌面发布应用程序捕捉格式信息,使其能够发送设定了格式的文档并根据需要在接收者的监视 器或打印机中显示这些文档.要查看 PDF 文件,需要使用 Adobe Reader:要创建或修改 PDF 文件,需要使 用 Adob

Android L 64bit 预览版来了!Android L模拟器配置及创建项目

Android L: Android L可能就是Android Lollipop(4.5或者5.0),因为Google一直以来都是用甜点为版本命名. 而据说在10月中旬也就是15或16号Google的发布会上应该会推出Nexus 6和Nexus 9,这两个新品都是搭载Android L,而Nexus 9应该是搭载Navidia的64位CPU, 而且之前的Nexus5和7应该都会接到升级推送.(期待Nexus9好久了,希望金属机身啊) 而就在昨天10.9号,Google发布了Android L 6

Codeforces Round #524 (Div. 2) F

题解: 首先这个东西因为强制在线区间查询 所以外面得套线段树了 然后考虑几条线段怎么判定 我们只需要按照右端点排序,然后查询的时候查找最右节点的前缀最大值就可以了 然后怎么合并子区间信息呢 (刚开始我很zz的觉得应该要线段树合并..) 线段树都保证了区间一样大每个点暴力也就会算log次.. 于是就直接暴力合并就好了 复杂度$nlog^2$ 然后因为是cf题..完全不管常数 成功跑了luogu倒数rank1 代码: #include <bits/stdc++.h> using namespace

The FLARE On Challenge

上周才开始做这个CTF,用一周左右的时间完成了全部7道题.算是为即将到来的找工作进行热身和学习,下面记录一下遇到的问题和学到的东西,具体的解题过程就不详细描述了. challenge1 这道题用IDA打开发现是一个.net程序,于是用.NET Reflector反编译定位 button的处理函数,就可以定位解码函数了. challenge2 通过邮件里的描述(We saw what looked like attacker activity to this site)猜测页面里面被嵌入了恶意代码

&lt;转&gt;键盘扫描码

原文链接:http://www.cnblogs.com/wqw/archive/2009/08/30/1556618.html //以下是一个检测按键扫描码的程序 #i nclude <bios.h> #i nclude <stdlib.h> #i nclude <stdio.h> #define Esc 0x11b void main(void) { int key; while(!kbhit())/*kbhit()表示有键盘按下*/ { key=bioskey(0)

php 中文转拼音首字母问题

<?php /* 中文汉字转拼音首字母的PHP简易实现方法. 要求: 只能是GB2312码表里面中文字符 转换得到字符串对应的拼音首字母大写. 用法: echo zh2py::conv('Chinese 中华人民共和国');//Chinese ZHRMGHG 或 $py = new zh2py; echo $py->conv('Chinese 中华人民共和国');//Chinese ZHRMGHG */ class zh2py { //根据汉字区位表 //我们可以看到从16-55区之间是按拼音

C中读取键盘码

键盘码在底层开发中经常用到,有时候我们会忘记它们,就要急急忙忙的去找 键-码 对照表查看,其实程序可以自己打印出 键-码 对应值 #include <stdio.h> #include <bios.h> int main(void) { int key, modifiers; while ((key=bioskey(0)) != 0 && key!=0x11b){ printf("0x%x ",key); } return 0; } 扫描码