|
FFmpeg
|
#include "config.h"#include "config_components.h"#include <stdint.h>#include <time.h>#include "libavutil/attributes_internal.h"#include "libavutil/avassert.h"#include "libavutil/macros.h"#include "libavutil/mathematics.h"#include "libavutil/avstring.h"#include "libavutil/bprint.h"#include "libavutil/intreadwrite.h"#include "libavutil/mem.h"#include "libavutil/opt.h"#include "libavutil/parseutils.h"#include "libavutil/log.h"#include "libavutil/random_seed.h"#include "libavutil/time_internal.h"#include "libavcodec/defs.h"#include "avformat.h"#include "avio_internal.h"#include "hlsplaylist.h"#include "internal.h"#include "mux.h"#include "os_support.h"#include "url.h"Go to the source code of this file.
Data Structures | |
| struct | HLSSegment |
| struct | VariantStream |
| struct | ClosedCaptionsStream |
| struct | HLSContext |
Macros | |
| #define | KEYSIZE 16 |
| #define | LINE_BUFFER_SIZE MAX_URL_SIZE |
| #define | HLS_MICROSECOND_UNIT 1000000 |
| #define | BUFSIZE (16 * 1024) |
| #define | POSTFIX_PATTERN "_%d" |
| #define | NEXT(s) |
| #define | OFFSET(x) |
| #define | E AV_OPT_FLAG_ENCODING_PARAM |
Enumerations | |
| enum | StartSequenceSourceType { HLS_START_SEQUENCE_AS_START_NUMBER = 0 , HLS_START_SEQUENCE_AS_SECONDS_SINCE_EPOCH = 1 , HLS_START_SEQUENCE_AS_FORMATTED_DATETIME = 2 , HLS_START_SEQUENCE_AS_MICROSECONDS_SINCE_EPOCH = 3 , HLS_START_SEQUENCE_LAST } |
| enum | CodecAttributeStatus { CODEC_ATTRIBUTE_WRITTEN = 0 , CODEC_ATTRIBUTE_WILL_NOT_BE_WRITTEN } |
| enum | HLSFlags { HLS_SINGLE_FILE = (1 << 0) , HLS_DELETE_SEGMENTS = (1 << 1) , HLS_ROUND_DURATIONS = (1 << 2) , HLS_DISCONT_START = (1 << 3) , HLS_OMIT_ENDLIST = (1 << 4) , HLS_SPLIT_BY_TIME = (1 << 5) , HLS_APPEND_LIST = (1 << 6) , HLS_PROGRAM_DATE_TIME = (1 << 7) , HLS_SECOND_LEVEL_SEGMENT_INDEX = (1 << 8) , HLS_SECOND_LEVEL_SEGMENT_DURATION = (1 << 9) , HLS_SECOND_LEVEL_SEGMENT_SIZE = (1 << 10) , HLS_TEMP_FILE = (1 << 11) , HLS_PERIODIC_REKEY = (1 << 12) , HLS_INDEPENDENT_SEGMENTS = (1 << 13) , HLS_I_FRAMES_ONLY = (1 << 14) } |
| enum | SegmentType { SEGMENT_TYPE_MPEGTS , SEGMENT_TYPE_FMP4 } |
Variables | |
| static const AVOption | options [] |
| static const AVClass | hls_class |
| const FFOutputFormat | ff_hls_muxer |
| #define KEYSIZE 16 |
Definition at line 75 of file hlsenc.c.
Referenced by do_encrypt(), hls_encryption_start(), and hls_start().
| #define LINE_BUFFER_SIZE MAX_URL_SIZE |
| #define HLS_MICROSECOND_UNIT 1000000 |
Definition at line 77 of file hlsenc.c.
Referenced by sls_flags_filename_process().
| #define BUFSIZE (16 * 1024) |
Definition at line 78 of file hlsenc.c.
Referenced by append_single_file(), check_draw_edges(), and check_rgb24toyv12().
| #define POSTFIX_PATTERN "_%d" |
Definition at line 79 of file hlsenc.c.
Referenced by append_postfix(), and hls_init().
| #define NEXT | ( | s | ) |
Referenced by hls_append_segment().
| #define OFFSET | ( | x | ) |
| #define E AV_OPT_FLAG_ENCODING_PARAM |
| enum CodecAttributeStatus |
| enum HLSFlags |
| enum SegmentType |
|
static |
Definition at line 270 of file hlsenc.c.
Referenced by hls_init(), and hls_start().
|
static |
Definition at line 293 of file hlsenc.c.
Referenced by create_master_playlist(), hls_delete_file(), hls_init_file_resend(), hls_mux_init(), hls_start(), hls_window(), hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 314 of file hlsenc.c.
Referenced by append_single_file(), create_master_playlist(), hls_delete_file(), hls_init_file_resend(), hls_window(), hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 334 of file hlsenc.c.
Referenced by create_master_playlist(), do_encrypt(), hls_delete_file(), hls_encryption_start(), hls_init_file_resend(), hls_mux_init(), hls_start(), hls_window(), hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 353 of file hlsenc.c.
Referenced by hls_write_header().
|
static |
Definition at line 383 of file hlsenc.c.
Referenced by format_name(), and hls_delete_old_segments().
|
static |
Definition at line 423 of file hlsenc.c.
Referenced by format_name(), hls_delete_old_segments(), hls_start(), parse_playlist(), sls_flag_use_localtime_filename(), and sls_flags_filename_process().
|
static |
Definition at line 471 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 481 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 502 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 508 of file hlsenc.c.
Referenced by hls_delete_old_segments().
|
static |
Definition at line 532 of file hlsenc.c.
Referenced by hls_append_segment().
|
static |
Definition at line 642 of file hlsenc.c.
Referenced by hls_start().
|
static |
Definition at line 715 of file hlsenc.c.
Referenced by hls_start().
|
static |
Definition at line 774 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 901 of file hlsenc.c.
Referenced by hls_append_segment().
|
static |
Definition at line 911 of file hlsenc.c.
Referenced by hls_append_segment().
|
static |
Definition at line 951 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 974 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 994 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 1001 of file hlsenc.c.
Referenced by hls_start().
|
static |
Definition at line 1045 of file hlsenc.c.
Referenced by hls_write_packet(), hls_write_trailer(), and parse_playlist().
|
static |
Definition at line 1147 of file hlsenc.c.
Referenced by parse_playlist().
|
static |
Definition at line 1174 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1304 of file hlsenc.c.
Referenced by hls_deinit().
|
static |
Definition at line 1315 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 1330 of file hlsenc.c.
Referenced by create_master_playlist().
Definition at line 1350 of file hlsenc.c.
Referenced by create_master_playlist().
|
static |
Traverse through the list of audio only rendition streams and find the rendition which has highest bitrate in the same audio group
Definition at line 1367 of file hlsenc.c.
Referenced by hls_window().
|
static |
Definition at line 1547 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 1691 of file hlsenc.c.
Referenced by hls_init(), and hls_write_packet().
|
static |
Definition at line 1876 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1897 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1916 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1950 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1996 of file hlsenc.c.
Referenced by parse_variant_stream_mapstring().
|
static |
Expected format for var_stream_map string is as below: "a:0,v:0 a:1,v:1" "a:0,agroup:a0,default:1,language:ENG a:1,agroup:a1,default:0 v:0,agroup:a0 v:1,agroup:a1" This string specifies how to group the audio, video and subtitle streams into different variant streams. The variant stream groups are separated by space.
a:, v:, s: are keys to specify audio, video and subtitle streams respectively. Allowed values are 0 to 9 digits (limited just based on practical usage)
agroup: is key to specify audio group. A string can be given as value. sgroup: is key to specify subtitle group. A string can be given as value.
Definition at line 2014 of file hlsenc.c.
Referenced by update_variant_stream_info().
|
static |
Definition at line 2160 of file hlsenc.c.
Referenced by update_variant_stream_info().
|
static |
Definition at line 2237 of file hlsenc.c.
Referenced by hls_init().
|
static |
if output file's directory has v, variants are created in sub-directories then master is created at the sub-directories level
Definition at line 2275 of file hlsenc.c.
Referenced by hls_init().
|
static |
|
static |
Definition at line 2378 of file hlsenc.c.
Referenced by hls_write_packet().
|
static |
Definition at line 2395 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
|
static |
|
static |
|
static |
|
static |
| const FFOutputFormat ff_hls_muxer |