#include "config.h"
#include <string.h>
#include <stdlib.h>
#include "libavformat/avformat.h"
#include "libavformat/ffm.h"
#include "libavformat/network.h"
#include "libavformat/os_support.h"
#include "libavformat/rtpdec.h"
#include "libavformat/rtsp.h"
#include "libavformat/avio_internal.h"
#include "libavformat/internal.h"
#include "libavformat/url.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/lfg.h"
#include "libavutil/dict.h"
#include "libavutil/mathematics.h"
#include "libavutil/random_seed.h"
#include "libavutil/parseutils.h"
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include <stdarg.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <errno.h>
#include <sys/wait.h>
#include <signal.h>
#include "cmdutils.h"
#include "cmdutils_common_opts.h"
Go to the source code of this file.
Data Structures | |
| struct | RTSPActionServerSetup |
| struct | DataRateData |
| struct | HTTPContext |
| struct | IPAddressACL |
| struct | FFStream |
| struct | FeedData |
Defines | |
| #define | closesocket close |
| #define | MAX_STREAMS 20 |
| #define | IOBUFFER_INIT_SIZE 8192 |
| #define | HTTP_REQUEST_TIMEOUT (15 * 1000) |
| #define | RTSP_REQUEST_TIMEOUT (3600 * 24 * 1000) |
| #define | SYNC_TIMEOUT (10 * 1000) |
| #define | CHECK_CODEC(x) (ccf->x != ccs->x) |
| #define | ERROR(...) report_config_error(filename, line_num, &errors, __VA_ARGS__) |
Enumerations | |
| enum | HTTPState { HTTPSTATE_WAIT_REQUEST, HTTPSTATE_SEND_HEADER, HTTPSTATE_SEND_DATA_HEADER, HTTPSTATE_SEND_DATA, HTTPSTATE_SEND_DATA_TRAILER, HTTPSTATE_RECEIVE_DATA, HTTPSTATE_WAIT_FEED, HTTPSTATE_READY, RTSPSTATE_WAIT_REQUEST, RTSPSTATE_SEND_REPLY, RTSPSTATE_SEND_PACKET } |
| enum | StreamType { STREAM_TYPE_LIVE, STREAM_TYPE_STATUS, STREAM_TYPE_REDIRECT } |
| enum | IPAddressAction { IP_ALLOW = 1, IP_DENY } |
| enum | RedirType { REDIR_NONE, REDIR_ASX, REDIR_RAM, REDIR_ASF, REDIR_RTSP, REDIR_SDP } |
Functions | |
| static void | new_connection (int server_fd, int is_rtsp) |
| static void | close_connection (HTTPContext *c) |
| static int | handle_connection (HTTPContext *c) |
| static int | http_parse_request (HTTPContext *c) |
| static int | http_send_data (HTTPContext *c) |
| static void | compute_status (HTTPContext *c) |
| static int | open_input_stream (HTTPContext *c, const char *info) |
| static int | http_start_receive_data (HTTPContext *c) |
| static int | http_receive_data (HTTPContext *c) |
| static int | rtsp_parse_request (HTTPContext *c) |
| static void | rtsp_cmd_describe (HTTPContext *c, const char *url) |
| static void | rtsp_cmd_options (HTTPContext *c, const char *url) |
| static void | rtsp_cmd_setup (HTTPContext *c, const char *url, RTSPMessageHeader *h) |
| static void | rtsp_cmd_play (HTTPContext *c, const char *url, RTSPMessageHeader *h) |
| static void | rtsp_cmd_pause (HTTPContext *c, const char *url, RTSPMessageHeader *h) |
| static void | rtsp_cmd_teardown (HTTPContext *c, const char *url, RTSPMessageHeader *h) |
| static int | prepare_sdp_description (FFStream *stream, uint8_t **pbuffer, struct in_addr my_ip) |
| static HTTPContext * | rtp_new_connection (struct sockaddr_in *from_addr, FFStream *stream, const char *session_id, enum RTSPLowerTransport rtp_protocol) |
| static int | rtp_new_av_stream (HTTPContext *c, int stream_index, struct sockaddr_in *dest_addr, HTTPContext *rtsp_c) |
| void av_noreturn | exit_program (int ret) |
| Do all the necessary cleanup and abort. | |
| static int | resolve_host (struct in_addr *sin_addr, const char *hostname) |
| static char * | ctime1 (char *buf2) |
| static void | http_vlog (const char *fmt, va_list vargs) |
| static void | http_log (const char *fmt,...) |
| static void | http_av_log (void *ptr, int level, const char *fmt, va_list vargs) |
| static void | log_connection (HTTPContext *c) |
| static void | update_datarate (DataRateData *drd, int64_t count) |
| static int | compute_datarate (DataRateData *drd, int64_t count) |
| static void | start_children (FFStream *feed) |
| static int | socket_open_listen (struct sockaddr_in *my_addr) |
| static void | start_multicast (void) |
| static int | http_server (void) |
| static void | start_wait_request (HTTPContext *c, int is_rtsp) |
| static void | http_send_too_busy_reply (int fd) |
| static int | extract_rates (char *rates, int ratelen, const char *request) |
| static int | find_stream_in_feed (FFStream *feed, AVCodecContext *codec, int bit_rate) |
| static int | modify_current_stream (HTTPContext *c, char *rates) |
| static void | skip_spaces (const char **pp) |
| static void | get_word (char *buf, int buf_size, const char **pp) |
| static void | get_arg (char *buf, int buf_size, const char **pp) |
| static void | parse_acl_row (FFStream *stream, FFStream *feed, IPAddressACL *ext_acl, const char *p, const char *filename, int line_num) |
| static IPAddressACL * | parse_dynamic_acl (FFStream *stream, HTTPContext *c) |
| static void | free_acl_list (IPAddressACL *in_acl) |
| static int | validate_acl_list (IPAddressACL *in_acl, HTTPContext *c) |
| static int | validate_acl (FFStream *stream, HTTPContext *c) |
| static void | compute_real_filename (char *filename, int max_size) |
| static void | fmt_bytecount (AVIOContext *pb, int64_t count) |
| static int64_t | get_server_clock (HTTPContext *c) |
| static int64_t | get_packet_send_clock (HTTPContext *c) |
| static int | http_prepare_data (HTTPContext *c) |
| static void | rtsp_reply_header (HTTPContext *c, enum RTSPStatusCode error_number) |
| static void | rtsp_reply_error (HTTPContext *c, enum RTSPStatusCode error_number) |
| static HTTPContext * | find_rtp_session (const char *session_id) |
| static RTSPTransportField * | find_transport (RTSPMessageHeader *h, enum RTSPLowerTransport lower_transport) |
| static HTTPContext * | find_rtp_session_with_url (const char *url, const char *session_id) |
| static AVStream * | add_av_stream1 (FFStream *stream, AVCodecContext *codec, int copy) |
| static int | add_av_stream (FFStream *feed, AVStream *st) |
| static void | remove_stream (FFStream *stream) |
| static void | extract_mpeg4_header (AVFormatContext *infile) |
| static void | build_file_streams (void) |
| static void | build_feed_streams (void) |
| static void | compute_bandwidth (void) |
| static void | add_codec (FFStream *stream, AVCodecContext *av) |
| static enum AVCodecID | opt_audio_codec (const char *arg) |
| static enum AVCodecID | opt_video_codec (const char *arg) |
| static int | ffserver_opt_default (const char *opt, const char *arg, AVCodecContext *avctx, int type) |
| static int | ffserver_opt_preset (const char *arg, AVCodecContext *avctx, int type, enum AVCodecID *audio_id, enum AVCodecID *video_id) |
| static AVOutputFormat * | ffserver_guess_format (const char *short_name, const char *filename, const char *mime_type) |
| static void | report_config_error (const char *filename, int line_num, int *errors, const char *fmt,...) |
| static int | parse_ffconfig (const char *filename) |
| static void | handle_child_exit (int sig) |
| static void | opt_debug (void) |
| void | show_help_default (const char *opt, const char *arg) |
| Per-avtool specific help handler. | |
| int | main (int argc, char **argv) |
Variables | |
| const char | program_name [] = "ffserver" |
| program name, defined by the program for show_version(). | |
| const int | program_birth_year = 2000 |
| program birth year, defined by the program for show_banner() | |
| static const OptionDef | options [] |
| static const char * | http_state [] |
| static struct sockaddr_in | my_http_addr |
| static struct sockaddr_in | my_rtsp_addr |
| static char | logfilename [1024] |
| static HTTPContext * | first_http_ctx |
| static FFStream * | first_feed |
| static FFStream * | first_stream |
| static const char * | my_program_name |
| static const char * | my_program_dir |
| static const char * | config_filename = "/etc/ffserver.conf" |
| static int | ffserver_debug |
| static int | ffserver_daemon |
| static int | no_launch |
| static int | need_to_start_children |
| static unsigned int | nb_max_http_connections = 2000 |
| static unsigned int | nb_max_connections = 5 |
| static unsigned int | nb_connections |
| static uint64_t | max_bandwidth = 1000 |
| static uint64_t | current_bandwidth |
| static int64_t | cur_time |
| static AVLFG | random_state |
| static FILE * | logfile = NULL |
Definition in file ffserver.c.
| #define CHECK_CODEC | ( | x | ) | (ccf->x != ccs->x) |
Referenced by build_feed_streams().
| #define closesocket close |
Definition at line 28 of file ffserver.c.
Referenced by close_connection(), new_connection(), sctp_close(), sctp_open(), socket_open_listen(), tcp_close(), tcp_open(), udp_close(), udp_open(), and udp_socket_create().
| #define ERROR | ( | ... | ) | report_config_error(filename, line_num, &errors, __VA_ARGS__) |
Referenced by parse_ffconfig().
| #define HTTP_REQUEST_TIMEOUT (15 * 1000) |
| #define IOBUFFER_INIT_SIZE 8192 |
Definition at line 108 of file ffserver.c.
Referenced by new_connection(), and rtp_new_connection().
| #define MAX_STREAMS 20 |
Definition at line 106 of file ffserver.c.
| #define RTSP_REQUEST_TIMEOUT (3600 * 24 * 1000) |
| #define SYNC_TIMEOUT (10 * 1000) |
Definition at line 114 of file ffserver.c.
| enum HTTPState |
Definition at line 75 of file ffserver.c.
| enum IPAddressAction |
| enum RedirType |
Definition at line 1457 of file ffserver.c.
| enum StreamType |
Definition at line 192 of file ffserver.c.
| static AVStream* add_av_stream1 | ( | FFStream * | stream, | |
| AVCodecContext * | codec, | |||
| int | copy | |||
| ) | [static] |
Definition at line 3480 of file ffserver.c.
Referenced by add_av_stream(), and build_file_streams().
| static void add_codec | ( | FFStream * | stream, | |
| AVCodecContext * | av | |||
| ) | [static] |
| static void build_feed_streams | ( | void | ) | [static] |
| static void build_file_streams | ( | void | ) | [static] |
| static void close_connection | ( | HTTPContext * | c | ) | [static] |
| static void compute_bandwidth | ( | void | ) | [static] |
| static int compute_datarate | ( | DataRateData * | drd, | |
| int64_t | count | |||
| ) | [static] |
| static void compute_real_filename | ( | char * | filename, | |
| int | max_size | |||
| ) | [static] |
| static void compute_status | ( | HTTPContext * | c | ) | [static] |
| static char* ctime1 | ( | char * | buf2 | ) | [static] |
| void av_noreturn exit_program | ( | int | ret | ) |
Do all the necessary cleanup and abort.
This function is implemented in the avtools, not cmdutils.
Definition at line 332 of file ffserver.c.
Referenced by add_input_streams(), assert_avoptions(), assert_codec_experimental(), assert_file_overwrite(), choose_pix_fmts(), configure_filtergraph(), copy_metadata(), decode_audio(), decode_video(), DEF_CHOOSE_FORMAT(), do_audio_out(), do_subtitle_out(), do_video_out(), do_video_stats(), dump_attachment(), find_codec_or_die(), flush_encoders(), get_codecs_sorted(), get_line(), grow_array(), init_input_filter(), init_output_filter(), main(), new_audio_stream(), new_data_stream(), new_output_stream(), new_subtitle_stream(), new_video_stream(), opt_input_file(), opt_loglevel(), opt_map(), opt_map_channel(), opt_max_alloc(), opt_output_file(), opt_preset(), opt_streamid(), opt_target(), parse_forced_key_frames(), parse_matrix_coeffs(), parse_meta_type(), parse_number_or_die(), parse_option(), parse_options(), parse_time_or_die(), print_sdp(), process_input(), transcode_init(), and write_frame().
| static void extract_mpeg4_header | ( | AVFormatContext * | infile | ) | [static] |
| static AVOutputFormat* ffserver_guess_format | ( | const char * | short_name, | |
| const char * | filename, | |||
| const char * | mime_type | |||
| ) | [static] |
| static int ffserver_opt_default | ( | const char * | opt, | |
| const char * | arg, | |||
| AVCodecContext * | avctx, | |||
| int | type | |||
| ) | [static] |
Definition at line 3948 of file ffserver.c.
Referenced by ffserver_opt_preset(), and parse_ffconfig().
| static int ffserver_opt_preset | ( | const char * | arg, | |
| AVCodecContext * | avctx, | |||
| int | type, | |||
| enum AVCodecID * | audio_id, | |||
| enum AVCodecID * | video_id | |||
| ) | [static] |
| static HTTPContext* find_rtp_session | ( | const char * | session_id | ) | [static] |
Definition at line 3035 of file ffserver.c.
Referenced by find_rtp_session_with_url(), and rtsp_cmd_setup().
| static HTTPContext* find_rtp_session_with_url | ( | const char * | url, | |
| const char * | session_id | |||
| ) | [static] |
Definition at line 3208 of file ffserver.c.
Referenced by rtsp_cmd_pause(), rtsp_cmd_play(), and rtsp_cmd_teardown().
| static int find_stream_in_feed | ( | FFStream * | feed, | |
| AVCodecContext * | codec, | |||
| int | bit_rate | |||
| ) | [static] |
| static RTSPTransportField* find_transport | ( | RTSPMessageHeader * | h, | |
| enum RTSPLowerTransport | lower_transport | |||
| ) | [static] |
| static void fmt_bytecount | ( | AVIOContext * | pb, | |
| int64_t | count | |||
| ) | [static] |
| static void free_acl_list | ( | IPAddressACL * | in_acl | ) | [static] |
| static void get_arg | ( | char * | buf, | |
| int | buf_size, | |||
| const char ** | pp | |||
| ) | [static] |
Definition at line 1247 of file ffserver.c.
Referenced by parse_acl_row(), parse_dynamic_acl(), and parse_ffconfig().
| static int64_t get_packet_send_clock | ( | HTTPContext * | c | ) | [static] |
| static int64_t get_server_clock | ( | HTTPContext * | c | ) | [static] |
| static void get_word | ( | char * | buf, | |
| int | buf_size, | |||
| const char ** | pp | |||
| ) | [static] |
Definition at line 1229 of file ffserver.c.
Referenced by http_parse_request(), and rtsp_parse_request().
| static void handle_child_exit | ( | int | sig | ) | [static] |
| static int handle_connection | ( | HTTPContext * | c | ) | [static] |
| static void http_av_log | ( | void * | ptr, | |
| int | level, | |||
| const char * | fmt, | |||
| va_list | vargs | |||
| ) | [static] |
| static void http_log | ( | const char * | fmt, | |
| ... | ||||
| ) | [static] |
Definition at line 403 of file ffserver.c.
Referenced by build_feed_streams(), build_file_streams(), http_av_log(), http_parse_request(), http_prepare_data(), http_receive_data(), http_server(), http_start_receive_data(), log_connection(), main(), new_connection(), open_input_stream(), rtp_new_av_stream(), start_children(), and start_multicast().
| static int http_parse_request | ( | HTTPContext * | c | ) | [static] |
| static int http_prepare_data | ( | HTTPContext * | c | ) | [static] |
| static int http_receive_data | ( | HTTPContext * | c | ) | [static] |
| static int http_send_data | ( | HTTPContext * | c | ) | [static] |
| static void http_send_too_busy_reply | ( | int | fd | ) | [static] |
| static int http_server | ( | void | ) | [static] |
| static int http_start_receive_data | ( | HTTPContext * | c | ) | [static] |
| static void http_vlog | ( | const char * | fmt, | |
| va_list | vargs | |||
| ) | [static] |
| static void log_connection | ( | HTTPContext * | c | ) | [static] |
Definition at line 4682 of file ffserver.c.
| static int modify_current_stream | ( | HTTPContext * | c, | |
| char * | rates | |||
| ) | [static] |
| static int open_input_stream | ( | HTTPContext * | c, | |
| const char * | info | |||
| ) | [static] |
Definition at line 2138 of file ffserver.c.
Referenced by http_parse_request(), http_prepare_data(), rtsp_cmd_setup(), and start_multicast().
| static enum AVCodecID opt_audio_codec | ( | const char * | arg | ) | [static] |
Definition at line 3902 of file ffserver.c.
| static void opt_debug | ( | void | ) | [static] |
Definition at line 4659 of file ffserver.c.
| static enum AVCodecID opt_video_codec | ( | const char * | arg | ) | [static] |
Definition at line 3912 of file ffserver.c.
| static void parse_acl_row | ( | FFStream * | stream, | |
| FFStream * | feed, | |||
| IPAddressACL * | ext_acl, | |||
| const char * | p, | |||
| const char * | filename, | |||
| int | line_num | |||
| ) | [static] |
Definition at line 1279 of file ffserver.c.
Referenced by parse_dynamic_acl(), and parse_ffconfig().
| static IPAddressACL* parse_dynamic_acl | ( | FFStream * | stream, | |
| HTTPContext * | c | |||
| ) | [static] |
| static int parse_ffconfig | ( | const char * | filename | ) | [static] |
| static int prepare_sdp_description | ( | FFStream * | stream, | |
| uint8_t ** | pbuffer, | |||
| struct in_addr | my_ip | |||
| ) | [static] |
Definition at line 2935 of file ffserver.c.
Referenced by http_parse_request(), and rtsp_cmd_describe().
| static void remove_stream | ( | FFStream * | stream | ) | [static] |
| static void report_config_error | ( | const char * | filename, | |
| int | line_num, | |||
| int * | errors, | |||
| const char * | fmt, | |||
| ... | ||||
| ) | [static] |
Definition at line 4020 of file ffserver.c.
| static int resolve_host | ( | struct in_addr * | sin_addr, | |
| const char * | hostname | |||
| ) | [static] |
| static int rtp_new_av_stream | ( | HTTPContext * | c, | |
| int | stream_index, | |||
| struct sockaddr_in * | dest_addr, | |||
| HTTPContext * | rtsp_c | |||
| ) | [static] |
| static HTTPContext * rtp_new_connection | ( | struct sockaddr_in * | from_addr, | |
| FFStream * | stream, | |||
| const char * | session_id, | |||
| enum RTSPLowerTransport | rtp_protocol | |||
| ) | [static] |
| static void rtsp_cmd_describe | ( | HTTPContext * | c, | |
| const char * | url | |||
| ) | [static] |
| static void rtsp_cmd_options | ( | HTTPContext * | c, | |
| const char * | url | |||
| ) | [static] |
| static void rtsp_cmd_pause | ( | HTTPContext * | c, | |
| const char * | url, | |||
| RTSPMessageHeader * | h | |||
| ) | [static] |
| static void rtsp_cmd_play | ( | HTTPContext * | c, | |
| const char * | url, | |||
| RTSPMessageHeader * | h | |||
| ) | [static] |
| static void rtsp_cmd_setup | ( | HTTPContext * | c, | |
| const char * | url, | |||
| RTSPMessageHeader * | h | |||
| ) | [static] |
| static void rtsp_cmd_teardown | ( | HTTPContext * | c, | |
| const char * | url, | |||
| RTSPMessageHeader * | h | |||
| ) | [static] |
| static int rtsp_parse_request | ( | HTTPContext * | c | ) | [static] |
| static void rtsp_reply_error | ( | HTTPContext * | c, | |
| enum RTSPStatusCode | error_number | |||
| ) | [static] |
Definition at line 2840 of file ffserver.c.
Referenced by rtsp_cmd_describe(), rtsp_cmd_pause(), rtsp_cmd_play(), rtsp_cmd_setup(), rtsp_cmd_teardown(), and rtsp_parse_request().
| static void rtsp_reply_header | ( | HTTPContext * | c, | |
| enum RTSPStatusCode | error_number | |||
| ) | [static] |
Definition at line 2784 of file ffserver.c.
Referenced by rtsp_cmd_describe(), rtsp_cmd_pause(), rtsp_cmd_play(), rtsp_cmd_setup(), rtsp_cmd_teardown(), and rtsp_reply_error().
| void show_help_default | ( | const char * | opt, | |
| const char * | arg | |||
| ) |
Per-avtool specific help handler.
Implemented in each avtool, called by show_help().
Definition at line 4666 of file ffserver.c.
Referenced by show_help().
| static void skip_spaces | ( | const char ** | pp | ) | [static] |
| static int socket_open_listen | ( | struct sockaddr_in * | my_addr | ) | [static] |
| static void start_children | ( | FFStream * | feed | ) | [static] |
| static void start_multicast | ( | void | ) | [static] |
| static void start_wait_request | ( | HTTPContext * | c, | |
| int | is_rtsp | |||
| ) | [static] |
| static void update_datarate | ( | DataRateData * | drd, | |
| int64_t | count | |||
| ) | [static] |
| static int validate_acl | ( | FFStream * | stream, | |
| HTTPContext * | c | |||
| ) | [static] |
| static int validate_acl_list | ( | IPAddressACL * | in_acl, | |
| HTTPContext * | c | |||
| ) | [static] |
const char* config_filename = "/etc/ffserver.conf" [static] |
int64_t cur_time [static] |
Definition at line 325 of file ffserver.c.
Referenced by audio_read_packet(), compute_datarate(), get_server_clock(), handle_connection(), http_prepare_data(), http_server(), open_input_stream(), start_wait_request(), transcode(), update_datarate(), and video_refresh().
uint64_t current_bandwidth [static] |
Definition at line 323 of file ffserver.c.
Referenced by close_connection(), compute_status(), http_parse_request(), and rtp_new_connection().
int ffserver_daemon [static] |
int ffserver_debug [static] |
Definition at line 312 of file ffserver.c.
Referenced by http_parse_request(), opt_debug(), parse_ffconfig(), and start_children().
FFStream* first_feed [static] |
Definition at line 271 of file ffserver.c.
HTTPContext* first_http_ctx [static] |
Definition at line 270 of file ffserver.c.
FFStream* first_stream [static] |
Definition at line 272 of file ffserver.c.
const char* http_state[] [static] |
Initial value:
{
"HTTP_WAIT_REQUEST",
"HTTP_SEND_HEADER",
"SEND_DATA_HEADER",
"SEND_DATA",
"SEND_DATA_TRAILER",
"RECEIVE_DATA",
"WAIT_FEED",
"READY",
"RTSP_WAIT_REQUEST",
"RTSP_SEND_REPLY",
"RTSP_SEND_PACKET",
}
Definition at line 90 of file ffserver.c.
Referenced by compute_status().
char logfilename[1024] [static] |
Definition at line 269 of file ffserver.c.
Referenced by main(), opt_debug(), parse_ffconfig(), and transcode_init().
uint64_t max_bandwidth = 1000 [static] |
Definition at line 322 of file ffserver.c.
Referenced by compute_status(), hls_open(), http_parse_request(), and parse_ffconfig().
struct sockaddr_in my_http_addr [static] |
const char* my_program_dir [static] |
const char* my_program_name [static] |
struct sockaddr_in my_rtsp_addr [static] |
Definition at line 267 of file ffserver.c.
Referenced by http_parse_request(), http_server(), and parse_ffconfig().
unsigned int nb_connections [static] |
Definition at line 320 of file ffserver.c.
Referenced by close_connection(), compute_status(), http_send_too_busy_reply(), new_connection(), and rtp_new_connection().
unsigned int nb_max_connections = 5 [static] |
Definition at line 319 of file ffserver.c.
Referenced by compute_status(), http_send_too_busy_reply(), new_connection(), parse_ffconfig(), and rtp_new_connection().
unsigned int nb_max_http_connections = 2000 [static] |
int need_to_start_children [static] |
Initial value:
{
{ "L" , OPT_EXIT, {.func_arg = show_license}, "show license" },
{ "h" , OPT_EXIT, {.func_arg = show_help}, "show help", "topic" },
{ "?" , OPT_EXIT, {.func_arg = show_help}, "show help", "topic" },
{ "help" , OPT_EXIT, {.func_arg = show_help}, "show help", "topic" },
{ "-help" , OPT_EXIT, {.func_arg = show_help}, "show help", "topic" },
{ "version" , OPT_EXIT, {.func_arg = show_version}, "show version" },
{ "formats" , OPT_EXIT, {.func_arg = show_formats }, "show available formats" },
{ "codecs" , OPT_EXIT, {.func_arg = show_codecs }, "show available codecs" },
{ "decoders" , OPT_EXIT, {.func_arg = show_decoders }, "show available decoders" },
{ "encoders" , OPT_EXIT, {.func_arg = show_encoders }, "show available encoders" },
{ "bsfs" , OPT_EXIT, {.func_arg = show_bsfs }, "show available bit stream filters" },
{ "protocols" , OPT_EXIT, {.func_arg = show_protocols}, "show available protocols" },
{ "filters" , OPT_EXIT, {.func_arg = show_filters }, "show available filters" },
{ "pix_fmts" , OPT_EXIT, {.func_arg = show_pix_fmts }, "show available pixel formats" },
{ "layouts" , OPT_EXIT, {.func_arg = show_layouts }, "show standard channel layouts" },
{ "sample_fmts", OPT_EXIT, {.func_arg = show_sample_fmts }, "show available audio sample formats" },
{ "loglevel" , HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
{ "v", HAS_ARG, {.func_arg = opt_loglevel}, "set libav* logging level", "loglevel" },
{ "debug" , HAS_ARG, {.func_arg = opt_codec_debug}, "set debug flags", "flags" },
{ "fdebug" , HAS_ARG, {.func_arg = opt_codec_debug}, "set debug flags", "flags" },
{ "report" , 0, {(void*)opt_report}, "generate a report" },
{ "max_alloc" , HAS_ARG, {.func_arg = opt_max_alloc}, "set maximum size of a single allocated block", "bytes" },
{ "cpuflags" , HAS_ARG | OPT_EXPERT, {.func_arg = opt_cpuflags}, "force specific cpu flags", "flags" },
{ "n", OPT_BOOL, {(void *)&no_launch }, "enable no-launch mode" },
{ "d", 0, {(void*)opt_debug}, "enable debug mode" },
{ "f", HAS_ARG | OPT_STRING, {(void*)&config_filename }, "use configfile instead of /etc/ffserver.conf", "configfile" },
{ NULL },
}
Definition at line 73 of file ffserver.c.
| const int program_birth_year = 2000 |
program birth year, defined by the program for show_banner()
Definition at line 71 of file ffserver.c.
Referenced by ffprobe_show_program_version(), and print_program_info().
| const char program_name[] = "ffserver" |
program name, defined by the program for show_version().
Definition at line 70 of file ffserver.c.
Referenced by compute_status(), main(), opt_report(), print_program_info(), show_help_default(), show_license(), and show_usage().
AVLFG random_state [static] |
Definition at line 327 of file ffserver.c.
1.5.8