summaryrefslogtreecommitdiff
path: root/doc/muxers.texi
Commit message (Collapse)AuthorAge
* avformat/hlsenc: rename option from use_localtime to strftimeSteven Liu2018-09-05
| | | | | | | fix ticket: 7393 indent option name to segment Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/movenc: implicitly enable negative CTS offsets for ismvJan Ekström2018-08-24
| | | | | | | | | | | ISMV lacks any sort of edit list support, as well as tfxd is effectively the PTS of the fragment for most intents and purposes. Thus, if b-frames are requested without negative CTS offsets you end up with N frames' worth of delay (tfxd PTS plus the CTS offset of the first sample). Negative CTS offsets enable the first sample to have CTS=DTS, and thus a/v desync due to b-frame reorder delay is avoided.
* avformat/movenc: creating producer reference time (PRFT) boxVishwanath Dixit2018-05-29
| | | | | | | | | The producer reference time box supplies relative wall-clock times at which movie fragments, or files containing movie fragments (such as segments) were produced. The box is mainly useful in live streaming use cases. A media player can parse the box and utilize the time fields to measure and improve the latency during real time playout.
* avformat/dashenc: Added option for Segment file formatKarthick Jeyapal2018-05-28
| | | | | | | | Right now segment file format is chosen to be either mp4 or webm based on the codec format. This patch makes that choice configurable by the user, instead of being decided by the muxer. Also with this change per-stream choice segment file format(based on codec type) is not possible. All the output audio and video streams should be in the same file format.
* avformat/dashenc: configuring container format optionsVishwanath Dixit2018-05-15
|
* avformat/dashenc: Add documentation for http method optionKarthick Jeyapal2018-05-14
|
* doc/muxers: tee muxer - rearrange, add notes and general tidy-upGyan Doshi2018-04-19
|
* avformat/dashenc: addition of segment index correction logicVishwanath Dixit2018-04-17
| | | | | | | | | | | | | | The logic is applicable only when use_template is enabled and use_timeline is disabled. The logic monitors the flow of segment indexes. If a streams's segment index value is not at the expected real time position, then the logic corrects that index value. Typically this logic is needed in live streaming use cases. The network bandwidth fluctuations are common during long run streaming. Each fluctuation can cause the segment indexes fall behind the expected real time position. Without this logic, players will not be able to consume the content, even after encoder's network condition comes back to normal state.
* avformat/dashenc: segmentation at the configured segment duration rateVishwanath Dixit2018-04-17
| | | | | | | When use_template is enabled and use_timeline is disabled, typically it is required to generate the segments at the configured segment duration rate on an average. This commit is particularly needed to handle the segmentation when video frame rates are fractional like 29.97 or 59.94 fps.
* avformat/dashenc: replacing 'min_seg_duration' with 'seg_duration'Vishwanath Dixit2018-04-17
| | | | | | | | | There are use cases where average segment duration needs to be configured and muxer is expected to maintain the average segment duration. So, using the name 'min_seg_duration' will be misleading. So, changing the parameter name to 'seg_duration', where it can be minimum segment duration or average segment duration based on the use-case. The additional updates needed for this functinality are made the sub-sequent patches of this patch series.
* avformat/hlsenc: add option hls_delete_thresholdSteven Liu2018-04-13
| | | | | | | | | | | When using hls_list_size with hls_flags delete_segments, currently hls_list_size * 2 +- segments remain on disk. With this new option, the amount of disk space used can be controlled by the user. fix ticket: #7131 Signed-off-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Aman Gupta <aman@tmm1.net>
* libavformat/dashenc: Option to set timeout for socket I/O operationRavindra2018-03-18
|
* avformat/hlsenc: Option to set timeout for socket I/O operationRavindra2018-03-14
| | | | Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/dashenc: chunk streaming support for low latency use casesVishwanath Dixit2018-02-24
|
* avformat/hlsenc: closed caption tags in the master playlistVishwanath Dixit2018-01-24
|
* avformat/hlsenc: creation of variant streams in subdirectoriesVishwanath Dixit2018-01-02
| | | | Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hlsenc: configurable variant stream index position in filenamesVishwanath Dixit2018-01-02
|
* avformat/dashenc: Persistent HTTP connections supported as an optionKarthick Jeyapal2017-12-29
| | | | | Reviewed-by: Aman Gupta <aman@tmm1.net> Reviewed-by: Steven Liu <lq@onvideo.cn>
* avformat/hlsenc:addition of #EXT-X-MEDIA tag and AUDIO attributeVishwanath Dixit2017-12-23
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/dashenc: Option to generate hls playlist as wellKarthick J2017-11-30
| | | | | | | This is to take full advantage of Common Media Application Format(CMAF). Now server can generate one content and serve both HLS and DASH players. Reviewed-by: Steven Liu <lq@onvideo.cn>
* libavformat/hlsenc: Persistent HTTP connections supported as an optionJeyapal, Karthick2017-11-29
|
* avformat/hlsenc: Added option to add EXT-X-INDEPENDENT-SEGMENTS tagKarthick J2017-11-24
|
* avformat/dashenc: Added configuration to override HTTP User-AgentKarthick J2017-11-21
| | | | | Reviewed-by: Steven Liu <lingjiujianke@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/hlsenc: creation of hls master playlist fileVishwanath Dixit2017-11-20
| | | | Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
* avformat/hlsenc: creation of hls variant streams in a single hlsenc instanceVishwanath Dixit2017-11-20
| | | | Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
* avformat/img2enc: add frame_pts option for make output filenameSteven Liu2017-11-13
| | | | | | | | fix ticket id: #1452 when use frame_pts option, the output image name can be set with PTS of current frame. Signed-off-by: Steven Liu <lq@onvideo.cn>
* Merge commit '0e702124ee149593168cbbb7b30376249a64ae66'James Almer2017-11-11
|\ | | | | | | | | | | | | * commit '0e702124ee149593168cbbb7b30376249a64ae66': doc: Provide better examples for hls and segment muxing Merged-by: James Almer <jamrial@gmail.com>
| * doc: Provide better examples for hls and segment muxingLuca Barbato2017-10-27
| | | | | | | | Some encoders do not output further IDRs if not requested to.
* | movenc: Add an option for enabling negative CTS offsetsMartin Storsjö2017-09-28
| | | | | | | | | | | | | | | | | | | | | | | | | | This reduces the need for an edit list; streams that start with e.g. dts=-1, pts=0 can be encoded as dts=0, pts=0 (which is valid in mov/mp4) by shifting the dts values of all packets forward. This avoids the need for edit lists for such streams (while they still are needed for audio streams with encoder delay). This eases conformance with the DASH-IF interoperability guidelines. Signed-off-by: Martin Storsjö <martin@martin.st> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit 'c5c663541739cb813a2a5668ee8339b535b35d7d'Rodger Combs2017-09-26
|\| | | | | | | | | | | | | * commit 'c5c663541739cb813a2a5668ee8339b535b35d7d': doc: add dash muxer Merged-by: Rodger Combs <rodger.combs@gmail.com>
| * doc: add dash muxerPeter Große2017-01-31
| | | | | | | | | | Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
| * hlsenc: Add encryption supportLuca Barbato2016-11-17
| | | | | | | | Partially based on Christian Suloway <csuloway@globaleagleent.com> work.
| * hlsenc: Support outputting specific versionsLuca Barbato2015-08-25
| | | | | | | | | | | | Right now only version 2 and version 3 are supported. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Fix several typosLou Logan2017-09-21
| | | | | | | | | | | | | | "apix_fmts" found by Marc Péchaud. "speedloss" found by Mikhail V. Signed-off-by: Lou Logan <lou@lrcd.com>
* | avformat/hlsenc: Added configuration to override HTTP User-AgentKarthick J2017-09-05
| | | | | | | | | | Signed-off-by: Karthick J <kjeyapal@akamai.com> Signed-off-by: Steven Liu <lq@onvideo.cn>
* | avformat/hlsenc: allow dynamic encryption key rotationDeHackEd2017-08-06
| | | | | | | | | | | | | | | | Makes behaviour of 805ce25b1d2f optional, re-enables HLS key rotation feature Reviewed-by: Steven Liu <lq@onvideo.cn> Signed-off-by: DHE <git@dehacked.net>
* | avfomat/hlsenc: support fmp4 format in hlsSteven Liu2017-07-03
| | | | | | | | | | | | | | | | | | | | | | add the fmp4 format into hlsenc because the fmp4 format add into hls from version 7. the spec link is: https://tools.ietf.org/html/draft-pantos-http-live-streaming-20 and the describe on WWDC https://developer.apple.com/videos/play/wwdc2017/515/ Signed-off-by: Steven Liu <lq@onvideo.cn>
* | avformat/hlsenc: add hls encrypt optionsSteven Liu2017-04-14
| | | | | | | | | | | | | | | | | | refer to: https://git.libav.org/?p=libav.git;a=commitdiff;h=0a4b9d0ccd10b3c39105f99bd320f696f69a75a2 add hls encrypt options looks like libav's libavformat/hlsenc.c Reviewed-by: Moritz Barsnick <barsnick@gmx.net> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* | doc/muxers: fix default value for image2 option start_number.Nicolas George2017-04-04
| |
* | doc/muxers: cleanup mpegts sectionLou Logan2017-03-16
| | | | | | | | | | | | | | | | | | Add missing options. List correct variable types. Re-order options and markup flag options properly. Add more texinfo markup. Signed-off-by: Lou Logan <lou@lrcd.com>
* | doc/muxers: move hls_flags temp_file to after SECOND LEVEL hls exampleSteven Liu2017-03-11
| | | | | | | | | | | | the temp_file hls_flags describe text offset is wrong, now move it after example Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* | doc/muxers: Fix typo, causing warnings during buildMichael Niedermayer2017-02-12
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/hlsenc: deprecate hls_wrap optionSteven Liu2017-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When user use the hls_wrap, there have many problem: 1. some platform refersh the old but usefull segment 2. CDN(Content Delivery Network) Deliver HLS not friendly The hls_wrap is used to wrap segments for use little space, now user can use hls_list_size and hls_flags delete_segments instead it. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* | doc: Add muxers/demuxers list optionMulvya2017-02-11
| | | | | | | | | | Signed-off-by: Mulvya <mulvya@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/hlsenc: add hls_flag option to write segments to temporary file ↵Aman Gupta2017-02-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | until complete Adds a `-hls_flags +temp_file` which will write segment data to filename.tmp, and then rename to filename when the segment is complete. This patch is similar in spirit to one used in Plex's ffmpeg fork, and allows a transcoding webserver to ensure incomplete segment files are never served up accidentally. Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Reviewed-by: Bodecs Bela <bodecsb@vivanet.hu> Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* | doc/muxers: remove confusing example for segment muxer option ↵Marton Balint2017-02-04
| | | | | | | | | | | | | | | | | | | | clocktime_wrap_duration Detecting a leap second depends on a lot of things, segment time, segment offset, system leap second implementation, the removed part is a huge simplification which can be misleading, so it is best to remove it. Signed-off-by: Marton Balint <cus@passwd.hu>
* | doc/muxers: add AVI muxer documentationTobias Rapp2017-01-31
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* | avformat/hlsenc: hls_start_number_source and start_numberBodecs Bela2017-01-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | start_number option starts the playlist sequence number (#EXT-X-MEDIA-SEQUENCE) from the specified number. Unless hls_flags single_file is set, it also specifies starting sequence numbers of segment and subtitle filenames. Sometimes it is usefull to have unique starting numbers at each run, but currently it is only achiveable by setting this parameter manually. This patch enables to specify start_number source parameter by introducing hls_start_number_source with 3 possible values: generic/epoch/datetime. This ensures to set start sequence number automatically for practically unique numbers. Generic option is the default and this is the curent behaviour: start_number option value specifies the start sequence number. (start_number default value is 0) If hls_start_number_source is set to epoch, then the start number will be the seconds since epoch (1970-01-01 00:00:00). If set to datetime, then the start sequence number will be based on the current date/time value as YYYYmmddHHMMSS. e.g. 20161231235659. Hls speficication allows 64 bit integers as sequence numbers. This patch also changes some code where only 32 bit integer values were handled correctly. Reviewed-by: Moritz Barsnick <barsnick@gmx.net> Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* | doc/muxers/hlsenc: typo hls_flag: discont_starts => discont_startBela Bodecs2017-01-05
| | | | | | | | | | Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/hlsenc: size and duration in segment filenamesBela Bodecs2017-01-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1st: This patch makes it possible to put actual segment file size (measured in bytes) and/or duration (calculated in microseconds) into segment filenames. This feature is useful when post-processing live streaming access log files. New behaviour works only when -use_localtime option is set and second_level_segment_size or/and second_level_segment_duration new hls_flags are specified. %%s is the placeholder for size and %%t for duration in hls_segment_filename option. Fix sized trailing zeropadding also works eg. %%09s or %%023t. A command to test new features: ./ffmpeg -loglevel info -y -f lavfi -i color=c=red:size=640x480:r=25 -f lavfi -i sine=f=440:b=4:r=44100 -c:v mpeg2video -g 25 -acodec aac -cutoff 20000 -ac 2 -ar 44100 -ab 192k -f hls -hls_time 3 -hls_list_size 5 -hls_flags second_level_segment_index+second_level_segment_size+second_level_segment_duration -use_localtime 1 -use_localtime_mkdir 1 -hls_segment_filename "segment_%Y%m%d%H%M%S_%%04d_%%08s_%%013t.ts" stream.m3u8 2nd: doc/muxers: beside second_level_segment_duration and second_level_segment_size, added some more details and example to hls_segment_filename, use_localtime, use_localtime_mkdir, hls_flags. hls_flags option list reformatted to table Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>