Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
02d504a7
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
02d504a7
编写于
8月 24, 2003
作者:
F
Fabrice Bellard
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
more sections in help - copyright fixes
Originally committed as revision 2143 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
18bff752
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
168 addition
and
134 deletion
+168
-134
cmdutils.c
cmdutils.c
+17
-24
cmdutils.h
cmdutils.h
+4
-1
ffmpeg.c
ffmpeg.c
+128
-98
ffplay.c
ffplay.c
+6
-2
ffserver.c
ffserver.c
+13
-9
未找到文件。
cmdutils.c
浏览文件 @
02d504a7
...
...
@@ -16,38 +16,31 @@
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define HAVE_AV_CONFIG_H
#include "common.h"
#include "avformat.h"
#include "cmdutils.h"
void
show_help_options
(
const
OptionDef
*
options
)
void
show_help_options
(
const
OptionDef
*
options
,
const
char
*
msg
,
int
mask
,
int
value
)
{
const
OptionDef
*
po
;
int
i
,
expert
,
first
;
int
first
;
printf
(
"Main options are:
\n
"
);
for
(
i
=
0
;
i
<
2
;
i
++
)
{
first
=
1
;
for
(
po
=
options
;
po
->
name
!=
NULL
;
po
++
)
{
char
buf
[
64
];
expert
=
(
po
->
flags
&
OPT_EXPERT
)
!=
0
;
if
(
expert
==
i
)
{
if
(
expert
&&
first
)
{
printf
(
"
\n
Advanced options are:
\n
"
);
first
=
0
;
}
strcpy
(
buf
,
po
->
name
);
if
(
po
->
flags
&
HAS_ARG
)
{
strcat
(
buf
,
" "
);
strcat
(
buf
,
po
->
argname
);
}
printf
(
"-%-17s %s
\n
"
,
buf
,
po
->
help
);
first
=
1
;
for
(
po
=
options
;
po
->
name
!=
NULL
;
po
++
)
{
char
buf
[
64
];
if
((
po
->
flags
&
mask
)
==
value
)
{
if
(
first
)
{
printf
(
"%s"
,
msg
);
first
=
0
;
}
strcpy
(
buf
,
po
->
name
);
if
(
po
->
flags
&
HAS_ARG
)
{
strcat
(
buf
,
" "
);
strcat
(
buf
,
po
->
argname
);
}
printf
(
"-%-17s %s
\n
"
,
buf
,
po
->
help
);
}
}
}
...
...
@@ -84,7 +77,7 @@ void parse_options(int argc, char **argv, const OptionDef *options)
}
if
(
po
->
flags
&
OPT_STRING
)
{
char
*
str
;
str
=
strdup
(
arg
);
str
=
av_
strdup
(
arg
);
*
po
->
u
.
str_arg
=
str
;
}
else
if
(
po
->
flags
&
OPT_BOOL
)
{
*
po
->
u
.
int_arg
=
1
;
...
...
cmdutils.h
浏览文件 @
02d504a7
...
...
@@ -8,6 +8,9 @@ typedef struct {
#define OPT_BOOL 0x0002
#define OPT_EXPERT 0x0004
#define OPT_STRING 0x0008
#define OPT_VIDEO 0x0010
#define OPT_AUDIO 0x0020
#define OPT_GRAB 0x0040
union
{
void
(
*
func_arg
)(
const
char
*
);
int
*
int_arg
;
...
...
@@ -17,7 +20,7 @@ typedef struct {
const
char
*
argname
;
}
OptionDef
;
void
show_help_options
(
const
OptionDef
*
options
);
void
show_help_options
(
const
OptionDef
*
options
,
const
char
*
msg
,
int
mask
,
int
value
);
void
parse_options
(
int
argc
,
char
**
argv
,
const
OptionDef
*
options
);
void
parse_arg_file
(
const
char
*
filename
);
void
print_error
(
const
char
*
filename
,
int
err
);
...
...
ffmpeg.c
浏览文件 @
02d504a7
...
...
@@ -54,7 +54,8 @@ typedef struct AVStreamMap {
extern
const
OptionDef
options
[];
void
show_help
(
void
);
static
void
show_help
(
void
);
static
void
show_license
(
void
);
#define MAX_FILES 20
...
...
@@ -1491,28 +1492,6 @@ int file_read(const char *filename)
}
#endif
static
void
show_licence
(
void
)
{
printf
(
"ffmpeg version "
FFMPEG_VERSION
"
\n
"
"Copyright (c) 2000, 2001, 2002 Fabrice Bellard
\n
"
"This library is free software; you can redistribute it and/or
\n
"
"modify it under the terms of the GNU Lesser General Public
\n
"
"License as published by the Free Software Foundation; either
\n
"
"version 2 of the License, or (at your option) any later version.
\n
"
"
\n
"
"This library is distributed in the hope that it will be useful,
\n
"
"but WITHOUT ANY WARRANTY; without even the implied warranty of
\n
"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
\n
"
"Lesser General Public License for more details.
\n
"
"
\n
"
"You should have received a copy of the GNU Lesser General Public
\n
"
"License along with this library; if not, write to the Free Software
\n
"
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
\n
"
);
exit
(
1
);
}
static
void
opt_image_format
(
const
char
*
arg
)
{
AVImageFormat
*
f
;
...
...
@@ -2619,7 +2598,8 @@ static void show_formats(void)
}
const
OptionDef
options
[]
=
{
{
"L"
,
0
,
{(
void
*
)
show_licence
},
"show license"
},
/* main options */
{
"L"
,
0
,
{(
void
*
)
show_license
},
"show license"
},
{
"h"
,
0
,
{(
void
*
)
show_help
},
"show help"
},
{
"formats"
,
0
,
{(
void
*
)
show_formats
},
"show available formats, codecs, protocols, ..."
},
{
"f"
,
HAS_ARG
,
{(
void
*
)
opt_format
},
"force format"
,
"fmt"
},
...
...
@@ -2632,95 +2612,145 @@ const OptionDef options[] = {
{
"author"
,
HAS_ARG
|
OPT_STRING
,
{(
void
*
)
&
str_author
},
"set the author"
,
"string"
},
{
"copyright"
,
HAS_ARG
|
OPT_STRING
,
{(
void
*
)
&
str_copyright
},
"set the copyright"
,
"string"
},
{
"comment"
,
HAS_ARG
|
OPT_STRING
,
{(
void
*
)
&
str_comment
},
"set the comment"
,
"string"
},
{
"pass"
,
HAS_ARG
,
{(
void
*
)
&
opt_pass
},
"select the pass number (1 or 2)"
,
"n"
},
{
"passlogfile"
,
HAS_ARG
|
OPT_STRING
,
{(
void
*
)
&
pass_logfilename
},
"select two pass log file name"
,
"file"
},
/* video options */
{
"b"
,
HAS_ARG
,
{(
void
*
)
opt_video_bitrate
},
"set video bitrate (in kbit/s)"
,
"bitrate"
},
{
"r"
,
HAS_ARG
,
{(
void
*
)
opt_frame_rate
},
"set frame rate (Hz value, fraction or abbreviation)"
,
"rate"
},
{
"re"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
rate_emu
},
"read input at native frame rate"
},
{
"s"
,
HAS_ARG
,
{(
void
*
)
opt_frame_size
},
"set frame size (WxH or abbreviation)"
,
"size"
},
{
"aspect"
,
HAS_ARG
,
{(
void
*
)
opt_frame_aspect_ratio
},
"set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)"
,
"aspect"
},
{
"pix_fmt"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_frame_pix_fmt
},
"set pixel format"
,
"format"
},
{
"croptop"
,
HAS_ARG
,
{(
void
*
)
opt_frame_crop_top
},
"set top crop band size (in pixels)"
,
"size"
},
{
"cropbottom"
,
HAS_ARG
,
{(
void
*
)
opt_frame_crop_bottom
},
"set bottom crop band size (in pixels)"
,
"size"
},
{
"cropleft"
,
HAS_ARG
,
{(
void
*
)
opt_frame_crop_left
},
"set left crop band size (in pixels)"
,
"size"
},
{
"cropright"
,
HAS_ARG
,
{(
void
*
)
opt_frame_crop_right
},
"set right crop band size (in pixels)"
,
"size"
},
{
"g"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_gop_size
},
"set the group of picture size"
,
"gop_size"
},
{
"intra"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
intra_only
},
"use only intra frames"
},
{
"vn"
,
OPT_BOOL
,
{(
void
*
)
&
video_disable
},
"disable video"
},
{
"qscale"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_qscale
},
"use fixed video quantiser scale (VBR)"
,
"q"
},
{
"qmin"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_qmin
},
"min video quantiser scale (VBR)"
,
"q"
},
{
"qmax"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_qmax
},
"max video quantiser scale (VBR)"
,
"q"
},
{
"mbqmin"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_mb_qmin
},
"min macroblock quantiser scale (VBR)"
,
"q"
},
{
"mbqmax"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_mb_qmax
},
"max macroblock quantiser scale (VBR)"
,
"q"
},
{
"qdiff"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_qdiff
},
"max difference between the quantiser scale (VBR)"
,
"q"
},
{
"qblur"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_qblur
},
"video quantiser scale blur (VBR)"
,
"blur"
},
{
"qcomp"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_qcomp
},
"video quantiser scale compression (VBR)"
,
"compression"
},
{
"rc_init_cplx"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_rc_initial_cplx
},
"initial complexity for 1-pass encoding"
,
"complexity"
},
{
"b_qfactor"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_b_qfactor
},
"qp factor between p and b frames"
,
"factor"
},
{
"i_qfactor"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_i_qfactor
},
"qp factor between p and i frames"
,
"factor"
},
{
"b_qoffset"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_b_qoffset
},
"qp offset between p and b frames"
,
"offset"
},
{
"i_qoffset"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_i_qoffset
},
"qp offset between p and i frames"
,
"offset"
},
// { "b_strategy", HAS_ARG | OPT_EXPERT, {(void*)opt_b_strategy}, "dynamic b frame selection strategy", "strategy" },
{
"rc_eq"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_video_rc_eq
},
""
,
"equation"
},
{
"rc_override"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_video_rc_override_string
},
"Rate control override"
,
"qualities for specific intervals"
},
{
"bt"
,
HAS_ARG
,
{(
void
*
)
opt_video_bitrate_tolerance
},
"set video bitrate tolerance (in kbit/s)"
,
"tolerance"
},
{
"maxrate"
,
HAS_ARG
,
{(
void
*
)
opt_video_bitrate_max
},
"set max video bitrate tolerance (in kbit/s)"
,
"bitrate"
},
{
"minrate"
,
HAS_ARG
,
{(
void
*
)
opt_video_bitrate_min
},
"set min video bitrate tolerance (in kbit/s)"
,
"bitrate"
},
{
"bufsize"
,
HAS_ARG
,
{(
void
*
)
opt_video_buffer_size
},
"set ratecontrol buffere size (in kbit)"
,
"size"
},
{
"vd"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_video_device
},
"set video grab device"
,
"device"
},
{
"vc"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_video_channel
},
"set video grab channel (DV1394 only)"
,
"channel"
},
{
"tvstd"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_video_standard
},
"set television standard (NTSC, PAL (SECAM))"
,
"standard"
},
{
"dv1394"
,
OPT_EXPERT
,
{(
void
*
)
opt_dv1394
},
"set DV1394 grab"
,
""
},
{
"vcodec"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_video_codec
},
"force video codec ('copy' to copy stream)"
,
"codec"
},
{
"me"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_motion_estimation
},
"set motion estimation method"
,
"method"
},
{
"dct_algo"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_dct_algo
},
"set dct algo"
,
"algo"
},
{
"idct_algo"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_idct_algo
},
"set idct algo"
,
"algo"
},
{
"er"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_error_resilience
},
"set error resilience"
,
""
},
{
"ec"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_error_concealment
},
"set error concealment"
,
""
},
{
"bf"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_b_frames
},
"use 'frames' B frames (only MPEG-4)"
,
"frames"
},
{
"hq"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
mb_decision
},
"activate high quality settings"
},
{
"mbd"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_mb_decision
},
"macroblock decision"
,
"mode"
},
{
"4mv"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
use_4mv
},
"use four motion vector by macroblock (only MPEG-4)"
},
{
"part"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
use_part
},
"use data partitioning (only MPEG-4)"
},
{
"bug"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_workaround_bugs
},
"workaround not auto detected encoder bugs"
,
"param"
},
{
"ps"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_packet_size
},
"packet size"
,
"size in bits"
},
{
"strict"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_strict
},
"strictness"
,
"how strictly to follow the standarts"
},
{
"sameq"
,
OPT_BOOL
,
{(
void
*
)
&
same_quality
},
"use same video quality as source (implies VBR)"
},
{
"debug"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_debug
},
"print specific debug info"
,
""
},
/* audio options */
{
"ab"
,
HAS_ARG
,
{(
void
*
)
opt_audio_bitrate
},
"set audio bitrate (in kbit/s)"
,
"bitrate"
,
},
{
"ar"
,
HAS_ARG
,
{(
void
*
)
opt_audio_rate
},
"set audio sampling rate (in Hz)"
,
"rate"
},
{
"ac"
,
HAS_ARG
,
{(
void
*
)
opt_audio_channels
},
"set number of audio channels"
,
"channels"
},
{
"an"
,
OPT_BOOL
,
{(
void
*
)
&
audio_disable
},
"disable audio"
},
{
"ad"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_audio_device
},
"set audio device"
,
"device"
},
{
"acodec"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_audio_codec
},
"force audio codec ('copy' to copy stream)"
,
"codec"
},
{
"deinterlace"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
do_deinterlace
},
"deinterlace pictures"
},
{
"benchmark"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
do_benchmark
},
"add timings for benchmarking"
},
{
"hex"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
do_hex_dump
},
"dump each input packet"
},
{
"psnr"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
do_psnr
},
"calculate PSNR of compressed frames"
},
{
"vstats"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
do_vstats
},
"dump video coding statistics to file"
},
{
"bitexact"
,
OPT_EXPERT
,
{(
void
*
)
opt_bitexact
},
"only use bit exact algorithms (for codec testing)"
},
{
"vhook"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
add_frame_hooker
},
"insert video processing module"
,
"module name and parameters"
},
/* video options */
{
"b"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_video_bitrate
},
"set video bitrate (in kbit/s)"
,
"bitrate"
},
{
"r"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_frame_rate
},
"set frame rate (Hz value, fraction or abbreviation)"
,
"rate"
},
{
"re"
,
OPT_BOOL
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
&
rate_emu
},
"read input at native frame rate"
},
{
"s"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_frame_size
},
"set frame size (WxH or abbreviation)"
,
"size"
},
{
"aspect"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_frame_aspect_ratio
},
"set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)"
,
"aspect"
},
{
"pix_fmt"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_frame_pix_fmt
},
"set pixel format"
,
"format"
},
{
"croptop"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_frame_crop_top
},
"set top crop band size (in pixels)"
,
"size"
},
{
"cropbottom"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_frame_crop_bottom
},
"set bottom crop band size (in pixels)"
,
"size"
},
{
"cropleft"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_frame_crop_left
},
"set left crop band size (in pixels)"
,
"size"
},
{
"cropright"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_frame_crop_right
},
"set right crop band size (in pixels)"
,
"size"
},
{
"g"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_gop_size
},
"set the group of picture size"
,
"gop_size"
},
{
"intra"
,
OPT_BOOL
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
&
intra_only
},
"use only intra frames"
},
{
"vn"
,
OPT_BOOL
|
OPT_VIDEO
,
{(
void
*
)
&
video_disable
},
"disable video"
},
{
"qscale"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_qscale
},
"use fixed video quantiser scale (VBR)"
,
"q"
},
{
"qmin"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_qmin
},
"min video quantiser scale (VBR)"
,
"q"
},
{
"qmax"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_qmax
},
"max video quantiser scale (VBR)"
,
"q"
},
{
"mbqmin"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_mb_qmin
},
"min macroblock quantiser scale (VBR)"
,
"q"
},
{
"mbqmax"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_mb_qmax
},
"max macroblock quantiser scale (VBR)"
,
"q"
},
{
"qdiff"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_qdiff
},
"max difference between the quantiser scale (VBR)"
,
"q"
},
{
"qblur"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_qblur
},
"video quantiser scale blur (VBR)"
,
"blur"
},
{
"qcomp"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_qcomp
},
"video quantiser scale compression (VBR)"
,
"compression"
},
{
"rc_init_cplx"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_rc_initial_cplx
},
"initial complexity for 1-pass encoding"
,
"complexity"
},
{
"b_qfactor"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_b_qfactor
},
"qp factor between p and b frames"
,
"factor"
},
{
"i_qfactor"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_i_qfactor
},
"qp factor between p and i frames"
,
"factor"
},
{
"b_qoffset"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_b_qoffset
},
"qp offset between p and b frames"
,
"offset"
},
{
"i_qoffset"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_i_qoffset
},
"qp offset between p and i frames"
,
"offset"
},
// { "b_strategy", HAS_ARG | OPT_EXPERT, {(void*)opt_b_strategy}, "dynamic b frame selection strategy", "strategy" },
{
"rc_eq"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_video_rc_eq
},
"set rate control equation"
,
"equation"
},
{
"rc_override"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_video_rc_override_string
},
"rate control override for specific internals"
,
"override_string"
},
{
"bt"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_video_bitrate_tolerance
},
"set video bitrate tolerance (in kbit/s)"
,
"tolerance"
},
{
"maxrate"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_video_bitrate_max
},
"set max video bitrate tolerance (in kbit/s)"
,
"bitrate"
},
{
"minrate"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_video_bitrate_min
},
"set min video bitrate tolerance (in kbit/s)"
,
"bitrate"
},
{
"bufsize"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_video_buffer_size
},
"set ratecontrol buffere size (in kbit)"
,
"size"
},
{
"vcodec"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
opt_video_codec
},
"force video codec ('copy' to copy stream)"
,
"codec"
},
{
"me"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_motion_estimation
},
"set motion estimation method"
,
"method"
},
{
"dct_algo"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_dct_algo
},
"set dct algo"
,
"algo"
},
{
"idct_algo"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_idct_algo
},
"set idct algo"
,
"algo"
},
{
"er"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_error_resilience
},
"set error resilience"
,
"n"
},
{
"ec"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_error_concealment
},
"set error concealment"
,
"n"
},
{
"bf"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_b_frames
},
"use 'frames' B frames (only MPEG-4)"
,
"frames"
},
{
"hq"
,
OPT_BOOL
,
{(
void
*
)
&
mb_decision
},
"activate high quality settings"
},
{
"mbd"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_mb_decision
},
"macroblock decision"
,
"mode"
},
{
"4mv"
,
OPT_BOOL
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
&
use_4mv
},
"use four motion vector by macroblock (only MPEG-4)"
},
{
"part"
,
OPT_BOOL
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
&
use_part
},
"use data partitioning (only MPEG-4)"
},
{
"bug"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_workaround_bugs
},
"workaround not auto detected encoder bugs"
,
"param"
},
{
"ps"
,
HAS_ARG
|
OPT_EXPERT
,
{(
void
*
)
opt_packet_size
},
"set packet size in bits"
,
"size"
},
{
"strict"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
opt_strict
},
"how strictly to follow the standarts"
,
"strictness"
},
{
"sameq"
,
OPT_BOOL
|
OPT_VIDEO
,
{(
void
*
)
&
same_quality
},
"use same video quality as source (implies VBR)"
},
{
"pass"
,
HAS_ARG
|
OPT_VIDEO
,
{(
void
*
)
&
opt_pass
},
"select the pass number (1 or 2)"
,
"n"
},
{
"passlogfile"
,
HAS_ARG
|
OPT_STRING
|
OPT_VIDEO
,
{(
void
*
)
&
pass_logfilename
},
"select two pass log file name"
,
"file"
},
{
"deinterlace"
,
OPT_BOOL
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
&
do_deinterlace
},
"deinterlace pictures"
},
{
"psnr"
,
OPT_BOOL
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
&
do_psnr
},
"calculate PSNR of compressed frames"
},
{
"vstats"
,
OPT_BOOL
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
&
do_vstats
},
"dump video coding statistics to file"
},
{
"vhook"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
add_frame_hooker
},
"insert video processing module"
,
"module"
},
/* Fx */
{
"aic"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
use_aic
},
"enable Advanced intra coding (h263+)"
},
{
"umv"
,
OPT_BOOL
|
OPT_EXPERT
,
{(
void
*
)
&
use_umv
},
"enable Unlimited Motion Vector (h263+)"
},
{
"aic"
,
OPT_BOOL
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
&
use_aic
},
"enable Advanced intra coding (h263+)"
},
{
"umv"
,
OPT_BOOL
|
OPT_EXPERT
|
OPT_VIDEO
,
{(
void
*
)
&
use_umv
},
"enable Unlimited Motion Vector (h263+)"
},
/* /Fx */
/* audio options */
{
"ab"
,
HAS_ARG
|
OPT_AUDIO
,
{(
void
*
)
opt_audio_bitrate
},
"set audio bitrate (in kbit/s)"
,
"bitrate"
,
},
{
"ar"
,
HAS_ARG
|
OPT_AUDIO
,
{(
void
*
)
opt_audio_rate
},
"set audio sampling rate (in Hz)"
,
"rate"
},
{
"ac"
,
HAS_ARG
|
OPT_AUDIO
,
{(
void
*
)
opt_audio_channels
},
"set number of audio channels"
,
"channels"
},
{
"an"
,
OPT_BOOL
|
OPT_AUDIO
,
{(
void
*
)
&
audio_disable
},
"disable audio"
},
{
"acodec"
,
HAS_ARG
|
OPT_AUDIO
,
{(
void
*
)
opt_audio_codec
},
"force audio codec ('copy' to copy stream)"
,
"codec"
},
/* grab options */
{
"vd"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
|
OPT_GRAB
,
{(
void
*
)
opt_video_device
},
"set video grab device"
,
"device"
},
{
"vc"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
|
OPT_GRAB
,
{(
void
*
)
opt_video_channel
},
"set video grab channel (DV1394 only)"
,
"channel"
},
{
"tvstd"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_VIDEO
|
OPT_GRAB
,
{(
void
*
)
opt_video_standard
},
"set television standard (NTSC, PAL (SECAM))"
,
"standard"
},
{
"dv1394"
,
OPT_EXPERT
|
OPT_GRAB
,
{(
void
*
)
opt_dv1394
},
"set DV1394 grab"
,
""
},
{
"ad"
,
HAS_ARG
|
OPT_EXPERT
|
OPT_AUDIO
|
OPT_GRAB
,
{(
void
*
)
opt_audio_device
},
"set audio device"
,
"device"
},
{
NULL
,
},
};
void
show_help
(
void
)
static
void
show_banner
(
void
)
{
printf
(
"ffmpeg version "
FFMPEG_VERSION
", Copyright (c) 2000-2003 Fabrice Bellard
\n
"
);
}
static
void
show_license
(
void
)
{
show_banner
();
printf
(
"This library is free software; you can redistribute it and/or
\n
"
"modify it under the terms of the GNU Lesser General Public
\n
"
"License as published by the Free Software Foundation; either
\n
"
"version 2 of the License, or (at your option) any later version.
\n
"
"
\n
"
"This library is distributed in the hope that it will be useful,
\n
"
"but WITHOUT ANY WARRANTY; without even the implied warranty of
\n
"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
\n
"
"Lesser General Public License for more details.
\n
"
"
\n
"
"You should have received a copy of the GNU Lesser General Public
\n
"
"License along with this library; if not, write to the Free Software
\n
"
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
\n
"
);
exit
(
1
);
}
static
void
show_help
(
void
)
{
printf
(
"ffmpeg version "
FFMPEG_VERSION
", Copyright (c) 2000, 2001, 2002 Fabrice Bellard
\n
"
);
show_banner
(
);
printf
(
"usage: ffmpeg [[options] -i input_file]... {[options] outfile}...
\n
"
"Hyper fast Audio and Video encoder
\n
"
);
printf
(
"
\n
"
);
show_help_options
(
options
);
show_help_options
(
options
,
"Main options:
\n
"
,
OPT_EXPERT
|
OPT_AUDIO
|
OPT_VIDEO
,
0
);
show_help_options
(
options
,
"
\n
Video options:
\n
"
,
OPT_EXPERT
|
OPT_AUDIO
|
OPT_VIDEO
|
OPT_GRAB
,
OPT_VIDEO
);
show_help_options
(
options
,
"
\n
Advanced Video options:
\n
"
,
OPT_EXPERT
|
OPT_AUDIO
|
OPT_VIDEO
|
OPT_GRAB
,
OPT_VIDEO
|
OPT_EXPERT
);
show_help_options
(
options
,
"
\n
Audio options:
\n
"
,
OPT_EXPERT
|
OPT_AUDIO
|
OPT_VIDEO
|
OPT_GRAB
,
OPT_AUDIO
);
show_help_options
(
options
,
"
\n
Advanced Audio options:
\n
"
,
OPT_EXPERT
|
OPT_AUDIO
|
OPT_VIDEO
|
OPT_GRAB
,
OPT_AUDIO
|
OPT_EXPERT
);
show_help_options
(
options
,
"
\n
Audio/Video grab options:
\n
"
,
OPT_GRAB
,
OPT_GRAB
);
show_help_options
(
options
,
"
\n
Advanced options:
\n
"
,
OPT_EXPERT
|
OPT_AUDIO
|
OPT_VIDEO
|
OPT_GRAB
,
OPT_EXPERT
);
exit
(
1
);
}
...
...
ffplay.c
浏览文件 @
02d504a7
...
...
@@ -1634,10 +1634,14 @@ const OptionDef options[] = {
void
show_help
(
void
)
{
printf
(
"usage: ffplay [options] input_file
\n
"
printf
(
"ffplay version "
FFMPEG_VERSION
", Copyright (c) 2003 Fabrice Bellard
\n
"
"usage: ffplay [options] input_file
\n
"
"Simple media player
\n
"
);
printf
(
"
\n
"
);
show_help_options
(
options
);
show_help_options
(
options
,
"Main options:
\n
"
,
OPT_EXPERT
,
0
);
show_help_options
(
options
,
"
\n
Advanced options:
\n
"
,
OPT_EXPERT
,
OPT_EXPERT
);
printf
(
"
\n
While playing:
\n
"
"q, ESC quit
\n
"
"f toggle full screen
\n
"
...
...
ffserver.c
浏览文件 @
02d504a7
...
...
@@ -4477,23 +4477,27 @@ static void write_packet(FFCodec *ffenc,
}
#endif
static
void
help
(
void
)
static
void
show_banner
(
void
)
{
printf
(
"ffserver version "
FFMPEG_VERSION
", Copyright (c) 2000, 2001, 2002 Fabrice Bellard
\n
"
"usage: ffserver [-L] [-h] [-f configfile]
\n
"
printf
(
"ffserver version "
FFMPEG_VERSION
", Copyright (c) 2000-2003 Fabrice Bellard
\n
"
);
}
static
void
show_help
(
void
)
{
show_banner
();
printf
(
"usage: ffserver [-L] [-h] [-f configfile]
\n
"
"Hyper fast multi format Audio/Video streaming server
\n
"
"
\n
"
"-L : print the LICEN
C
E
\n
"
"-L : print the LICEN
S
E
\n
"
"-h : this help
\n
"
"-f configfile : use configfile instead of /etc/ffserver.conf
\n
"
);
}
static
void
licenc
e
(
void
)
static
void
show_licens
e
(
void
)
{
show_banner
();
printf
(
"ffserver version "
FFMPEG_VERSION
"
\n
"
"Copyright (c) 2000, 2001, 2002 Fabrice Bellard
\n
"
"This library is free software; you can redistribute it and/or
\n
"
"modify it under the terms of the GNU Lesser General Public
\n
"
"License as published by the Free Software Foundation; either
\n
"
...
...
@@ -4556,11 +4560,11 @@ int main(int argc, char **argv)
break
;
switch
(
c
)
{
case
'L'
:
licenc
e
();
show_licens
e
();
exit
(
1
);
case
'?'
:
case
'h'
:
help
();
show_
help
();
exit
(
1
);
case
'n'
:
no_launch
=
1
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录