|
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 721 of file hlsenc.c.
Referenced by hls_start().
|
static |
Definition at line 780 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 907 of file hlsenc.c.
Referenced by hls_append_segment().
|
static |
Definition at line 917 of file hlsenc.c.
Referenced by hls_append_segment().
|
static |
Definition at line 957 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 980 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1000 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 1007 of file hlsenc.c.
Referenced by hls_start().
|
static |
Definition at line 1051 of file hlsenc.c.
Referenced by hls_write_packet(), hls_write_trailer(), and parse_playlist().
|
static |
Definition at line 1153 of file hlsenc.c.
Referenced by parse_playlist().
|
static |
Definition at line 1180 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1310 of file hlsenc.c.
Referenced by hls_deinit().
|
static |
Definition at line 1321 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 1336 of file hlsenc.c.
Referenced by create_master_playlist().
Definition at line 1356 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 1373 of file hlsenc.c.
Referenced by hls_window().
|
static |
Definition at line 1553 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
Definition at line 1697 of file hlsenc.c.
Referenced by hls_init(), and hls_write_packet().
|
static |
Definition at line 1882 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1903 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1922 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 1956 of file hlsenc.c.
Referenced by hls_init().
|
static |
Definition at line 2002 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 2020 of file hlsenc.c.
Referenced by update_variant_stream_info().
|
static |
Definition at line 2166 of file hlsenc.c.
Referenced by update_variant_stream_info().
|
static |
Definition at line 2243 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 2281 of file hlsenc.c.
Referenced by hls_init().
|
static |
|
static |
Definition at line 2384 of file hlsenc.c.
Referenced by hls_write_packet().
|
static |
Definition at line 2401 of file hlsenc.c.
Referenced by hls_write_packet(), and hls_write_trailer().
|
static |
|
static |
|
static |
|
static |
|
static |
| const FFOutputFormat ff_hls_muxer |