FFmpeg
4.0
|
#include "config.h"
#include <float.h>
#include <stdint.h>
#include "libavutil/avassert.h"
#include "libavutil/mathematics.h"
#include "libavutil/parseutils.h"
#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/random_seed.h"
#include "libavutil/opt.h"
#include "libavutil/log.h"
#include "libavutil/time_internal.h"
#include "avformat.h"
#include "avio_internal.h"
#include "hlsplaylist.h"
#include "internal.h"
#include "os_support.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 1024 |
#define | HLS_MICROSECOND_UNIT 1000000 |
#define | POSTFIX_PATTERN "_%d" |
#define | OFFSET(x) offsetof(HLSContext, 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 } |
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) } |
enum | SegmentType { PALETTE_SEGMENT = 0x14, OBJECT_SEGMENT = 0x15, PRESENTATION_SEGMENT = 0x16, WINDOW_SEGMENT = 0x17, DISPLAY_SEGMENT = 0x80, SEGMENT_TYPE_MPEGTS, SEGMENT_TYPE_FMP4 } |
Variables | |
static const AVOption | options [] |
static const AVClass | hls_class |
AVOutputFormat | ff_hls_muxer |
#define KEYSIZE 16 |
Definition at line 66 of file hlsenc.c.
Referenced by do_encrypt(), hls_encryption_start(), and hls_start().
#define HLS_MICROSECOND_UNIT 1000000 |
Definition at line 68 of file hlsenc.c.
Referenced by sls_flags_filename_process().
#define POSTFIX_PATTERN "_%d" |
Definition at line 69 of file hlsenc.c.
Referenced by append_postfix(), and hls_init().
#define OFFSET | ( | x | ) | offsetof(HLSContext, x) |
#define E AV_OPT_FLAG_ENCODING_PARAM |
enum CodecAttributeStatus |
enum HLSFlags |
enum SegmentType |
|
static |
Definition at line 233 of file hlsenc.c.
Referenced by format_name(), and hls_start().
|
static |
Definition at line 266 of file hlsenc.c.
Referenced by create_master_playlist(), hls_mux_init(), hls_start(), hls_window(), hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 283 of file hlsenc.c.
Referenced by create_master_playlist(), hls_window(), and hls_write_packet().
|
static |
Definition at line 298 of file hlsenc.c.
Referenced by create_master_playlist(), hls_mux_init(), hls_start(), and hls_window().
|
static |
Definition at line 316 of file hlsenc.c.
Referenced by hls_write_header().
|
static |
Definition at line 361 of file hlsenc.c.
Referenced by format_name(), hls_delete_old_segments(), hls_start(), sls_flag_use_localtime_filename(), and sls_flags_filename_process().
|
static |
Definition at line 410 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 420 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 443 of file hlsenc.c.
Referenced by hls_append_segment().
Definition at line 572 of file hlsenc.c.
Referenced by do_encrypt().
|
static |
Definition at line 586 of file hlsenc.c.
Referenced by hls_start().
|
static |
Definition at line 655 of file hlsenc.c.
Referenced by hls_start().
|
static |
Definition at line 707 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 821 of file hlsenc.c.
Referenced by hls_append_segment().
|
static |
Definition at line 831 of file hlsenc.c.
Referenced by hls_append_segment().
|
static |
Definition at line 874 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 897 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 917 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 924 of file hlsenc.c.
Referenced by hls_start().
|
static |
Definition at line 972 of file hlsenc.c.
Referenced by hls_write_packet(), hls_write_trailer(), and parse_playlist().
|
static |
Definition at line 1060 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1150 of file hlsenc.c.
Referenced by hls_write_trailer().
|
static |
Definition at line 1161 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 1176 of file hlsenc.c.
Referenced by create_master_playlist().
|
static |
Definition at line 1194 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 1209 of file hlsenc.c.
Referenced by hls_window().
|
static |
Definition at line 1368 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 1485 of file hlsenc.c.
Referenced by hls_init(), and hls_write_packet().
|
static |
Definition at line 1670 of file hlsenc.c.
Referenced by hls_init().
Definition at line 1686 of file hlsenc.c.
Referenced by hls_init().
Definition at line 1705 of file hlsenc.c.
Referenced by hls_init().
Definition at line 1744 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1790 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 a:1,agroup:a1 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.
Definition at line 1808 of file hlsenc.c.
Referenced by update_variant_stream_info().
|
static |
Definition at line 1911 of file hlsenc.c.
Referenced by update_variant_stream_info().
|
static |
Definition at line 1990 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 2031 of file hlsenc.c.
Referenced by hls_init().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 2802 of file hlsenc.c.
Referenced by create_master_playlist(), hls_delete_old_segments(), hls_mux_init(), hls_start(), and hls_window().
|
static |
AVOutputFormat ff_hls_muxer |