1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-13 21:28:01 +02:00
Commit Graph

273 Commits

Author SHA1 Message Date
Lou Logan
ee795d9d26 doc/muxers: remove "-strict experimental" from tee muxer examples
Examples use the native FFmpeg AAC encoder but it is no longer
considered experimental and therefore not required.

Signed-off-by: Lou Logan <lou@lrcd.com>
2016-12-08 12:06:05 -09:00
Steven Liu
ee24c8ad01 avformat/flvenc: fix ticket 5976 and use old commit
mythtv have problem with non-seekable dont write duration and filesize
and there have problem with some other server and player with 0 value
duation and filesize.
So add a flv flags to fix the ticket and make a choose for users.

Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2016-11-26 08:52:19 +08:00
Steven Liu
d316b21dba avformat/flvenc: add no_metadata to flvflags
some flv have no metadata,
ffmpeg will same with the source flv stream.

Signed-off-by: Steven Liu <lingjiujianke@gmail.com>
2016-11-22 10:18:23 +08:00
Luca Barbato
0a4b9d0ccd hlsenc: Add encryption support
Partially based on Christian Suloway <csuloway@globaleagleent.com> work.
2016-11-17 19:19:55 +01:00
Steven Liu
863ebe6f83 avformat/flvenc: add add_keyframe_index option
Add keyframe index metadata
Used to facilitate seeking; particularly for HTTP pseudo streaming.
 1. read live streaming or file by sequence
 2. if use add_keyframe_index option, add a mark flag at the position,
    use to insert new context at the last step.
 3. add the keyframes *offset* and *timestamp* into a list
 4. if use add_keyframe_index option, shift the metadata data from
    mark flag offset
 5. insert the keyframes *offset* and *timestamp* from the list by
    sequence
 6. free the list
 7. end.

Add FATE test case;

Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Steven Liu <liuqi@gosun.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-10 10:30:48 +08:00
Michael Niedermayer
a566c952f9 avformat/mpegtsenc: Add option to mark stream begin as discontinuous
This avoids continuity check failures in concatenated streams

Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-02 16:34:01 +01:00
Michael Niedermayer
2b09a3ad19 Revert "img2 encoder: allow %t in filename, based on patch from Yuval Adam"
breaks API

Found-by: jamrial
This reverts commit 1a956c64c8.
2016-11-01 23:03:24 +01:00
rogerdpack
8459e6fd12 img2 encoder: use more descriptive vsync names
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-01 22:29:23 +01:00
rogerdpack
1a956c64c8 img2 encoder: allow %t in filename, based on patch from Yuval Adam
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-01 22:29:23 +01:00
Andreas Cadhalpun
c8a6eb58d7 doc: fix spelling errors
Thanks to Mathieu Malaterre <malat@debian.org> for reporting the
Que/Queue typo. (https://bugs.debian.org/839542)

Reviewed-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2016-10-21 23:58:47 +02:00
Moritz Barsnick
99d68d462f doc: fix various typos and grammar errors
Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-11 16:57:46 +02:00
Josh de Kock
dc0f711459 lavc: remove libfaac wrapper
There is really no need for two aac wrappers, we already have
libfdk-aac which is better. Not to mention that faac doesn't
even support HEv1, or HEv2. It's also under a license which is
unusable for distribution, so it would only be useful to people
who will compile their own ffmpeg, only use it themselves (which
at that point should just use fdk-aac).

Signed-off-by: Josh de Kock <josh@itanimul.li>
2016-10-01 19:58:04 +01:00
Steven Liu
95f2dcafe1 doc/muxers: fix hlsenc options examples error
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2016-09-28 15:04:55 -08:00
Carl Eugen Hoyos
46aae84616 lavf/movenc: Allow to disable writing the timecode track.
Fixes ticket #5492.
2016-09-26 08:50:48 +02:00
Steven Liu
3ea28f3f79 doc/muxers: add flv muxer document into doc/muxers
add flvflags aac_seq_header_detect and flvflags no_sequence_end
document into doc/muxers

Reviewed-by: Lou Logan <lou@lrcd.com>
2016-09-16 16:16:04 -08:00
Michael Niedermayer
2793ebd6cb avformat/hlsenc: implement program_date_time
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-09-08 02:22:21 +02:00
Steven Liu
7ba98824a9 doc/muxers: add option hls_init_time document
Reviewed-by: Ibrahim Tachijian <barhom@netsat.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-29 14:54:39 +02:00
Jan Sebechlebsky
92b5f8fecd avformat: Add fifo pseudo-muxer
Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-08-22 22:03:37 +02:00
Steven Liu
445c30ba07 lavf/hlsenc: add append_list flag into hlsenc
When ffmpeg exit by exception, start a new ffmpeg will
cover the old segment list, add this flag can continue
append the new segments into old hls segment list

Signed-off-by: LiuQi <liuqi@gosun.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-21 14:55:27 +02:00
Steven Liu
41ad6d193a doc/muxers: improve hlsenc description
Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-22 16:31:30 +02:00
Steven Liu
6f07467831 doc/muxers: add hls_flags option description
Signed-off-by: Steven Liu <liuqi@gosun.com>
Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-22 16:31:30 +02:00
Steven Liu
b701ec4152 refine the method option describe of hlsenc doc
Signed-off-by: LiuQi <liuqi@gosun.com>
Reviewed-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-15 16:24:28 +02:00
Michael Niedermayer
37c658b56b doc/muxers: Fix Thisimproves typo
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-11 12:55:29 +02:00
Steven Liu
b45a976ed4 add split_by_time flag for support splite mpegts segment at non-keyframe
support split hls segment at duration set by hls_time

Signed-off-by: LiuQi <liuqi@gosun.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-11 12:20:40 +02:00
Benoit Fouet
2234566cfb hls muxer doc: clarify segment splitting option
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-15 11:28:04 +02:00
Stefano Sabatini
6bcc6fd55d doc/muxers/mpegts: apply misc consistency/formatting fixes 2016-06-14 12:11:04 +02:00
Jan Sebechlebsky
2063f3ed9c avformat/tee: Handling slave failure in tee muxer
Adds per slave option 'onfail' to the tee muxer allowing an output to
fail, so other slave outputs can continue.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-04-22 20:04:27 +02:00
Moritz Barsnick
f4a0236cbd avformat: add hash and framehash muxers
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Moritz Barsnick <barsnick@gmx.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-04-12 11:18:52 -03:00
Rodger Combs
4b150fbe1f lavf/segment: add option to write empty filler segments as needed 2016-04-02 13:31:26 -05:00
Martin Vignali
69638517d1 lavf/segment: add increment_tc option
For example you can split a file, keeping a continuous timecode between
each segment:
ffmpeg -i src.mov -timecode 10:00:00:00 -vcodec copy -f segment \
-segment_time 2 -reset_timestamps 1 -increment_tc 1 target_%03d.mov

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2016-03-15 17:44:13 +01:00
Adam Kent
77e355ffb1 avformat/hlsenc: Add support for HLS PLAYLIST types EVENT and VOD
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-12 22:22:08 +01:00
Johan Ström
6c31c99289 hlsenc: add use_localtime_mkdir option to automatically create time-based directory
Use with -use_localtime, and set -hls_segment_filename to a path which
contains a subdirectory i.e. /some/path/%Y%m%d/%Y%m%dT%H%M%S-%s.ts
This will mkdir the %Y%m%d-part of the path if it does not already
exist.
In addition, each filename in the playlist output will be prefixed with
this subdirectory (if playlist and segment shares the same base path).

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-02-17 16:17:58 +01:00
Marton Balint
6d14e32555 lavf/asfenc: add support for setting packet size
This can provide a manual workaround for ticket #4230.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-02-05 21:32:14 +01:00
Marton Balint
369a6a6ed4 lavf/segment: add new option segment_clocktime_wrap_duration
This option can force the segmenter to only start a new segment if a packet
reaches the muxer within the specified duration after the segmenting clock
time, which makes it more resilient to backward local time jumps, such as leap
seconds or transition to standard time from daylight savings time.

Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-01-28 21:35:44 +01:00
Marton Balint
1036a1b8a3 lavf/segment: add support for specifying clock time offset
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2016-01-28 21:35:37 +01:00
Stefan Pöschel
80508178e1 doc/muxers/mpegts: update doc after adding flag to embed an AC-3/E-AC-3 ES the DVB way
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-25 12:31:25 +01:00
Michael Niedermayer
d9726893f3 avformat/mxfenc: Only store user comment related tags when needed
Also support disabling them as they seem to cause problems to some
Users. They are also not allowed in IRT D-10 thus the default for
mxf_d10 is not to write them

This also decreases the filesize when no user comment are stored

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-11-10 23:27:51 +01:00
Bela Bodecs
1f3a29e999 lavf/tee: allow multiple stream specifiers in select.
It makes possible to put multiple stream specifier into the select
option separated by comma.
eg. select=\'a:0,v\'

Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
Signed-off-by: Nicolas George <george@nsup.org>
2015-10-12 16:56:58 +02:00
Rodger Combs
a2b8b16300 lavf: add chromaprint muxer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-04 01:37:31 +02:00
Ronald S. Bultje
e855ed17a7 Update md5 muxer docs to indicate that it ignores timestamps. 2015-09-06 15:07:19 -04:00
Luca Barbato
2157df425b hlsenc: Support outputting specific versions
Right now only version 2 and version 3 are supported.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-08-25 19:43:58 +02:00
Vesselin Bontchev
0a551cbe97 Add support for Audible AAX (and AAX+) files
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 20:28:39 +02:00
Michael Niedermayer
b5e716ae13 avformat/mpegtsenc: Add sdt_period, similar to pat_period
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 23:26:05 +02:00
Michael Niedermayer
34da54fd1a avformat/mpegtsenc: Support a user specified PAT/PMT period
Can be used to fix Ticket3714

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 22:24:25 +02:00
Michael Niedermayer
a9c1545a33 avformat/mpegtsenc: support storing PAT/PMT per frame
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-18 22:19:19 +02:00
Stefano Sabatini
8cbce1001d doc/muxers/segment: fix formatting of segment_list_type option
Place @item entry at the right point, remove duplicated description.
2015-07-02 11:06:23 +02:00
James Zern
202188a26c doc/muxers.texi: properly insert {}s in example
use '@{' / '@}', fixes compile errors:
*** '{' without macro. Before: 1:-'.'}
*** '}' without opening '{' before:

since:
907ac20 avformat/hlsenc: added HLS encryption

Signed-off-by: James Zern <jzern@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-16 12:13:43 +02:00
Christian Suloway
907ac20aa2 avformat/hlsenc: added HLS encryption
Added HLS encryption with -hls_key_info_file <key_info_file> option. The
first line of key_info_file specifies the key URI written to the
playlist. The key URL is used to access the encryption key during
playback. The second line specifies the path to the key file used to
obtain the key during the encryption process. The key file is read as a
single packed array of 16 octets in binary format. The optional third
line specifies the initialization vector (IV) as a hexadecimal string to
be used instead of the segment sequence number (default) for encryption.
Changes to key_info_file will result in segment encryption with the new
key/IV and an entry in the playlist for the new key URI/IV.

Key info file format:
<key URI>
<key file path>
<IV> (optional)

Example key URIs:
http://server/file.key
/path/to/file.key
file.key

Example key file paths:
file.key
/path/to/file.key

Example IV:
0123456789ABCDEF0123456789ABCDEF

Example:
ffmpeg -f lavfi -i testsrc -c:v h264 -hls_key_info_file file.keyinfo
foo.m3u8

file.keyinfo:
http://server/file.key
/path/to/file.key
0123456789ABCDEF0123456789ABCDEF

Example shell script:
BASE_URL=${1:-'.'}
openssl rand 16 > file.key
echo $BASE_URL/file.key > file.keyinfo
echo file.key >> file.keyinfo
echo $(openssl rand -hex 16) >> file.keyinfo
ffmpeg -f lavfi -re -i testsrc -c:v h264 -hls_flags delete_segments \
  -hls_key_info_file file.keyinfo out.m3u8
--

Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Dan Dennedy <dan@dennedy.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-16 03:25:31 +02:00
Rodger Combs
4b082bc241 doc/muxers: document new break_non_keyframes option
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-09 17:08:35 +02:00
Vignesh Venkatasubramanian
f82ce6aa88 webmdashenc: parameter'ize minimumUpdatePeriod
Some players do not support setting minimumUpdatePeriod to zero.
This patch adds a new parameter that will let the users set any
value to this field. Also updates the test and the documentation.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-22 11:41:03 +02:00
Vignesh Venkatasubramanian
6fd300ac6c lavf: Add support for WebM Live Muxing
This patch adds support for WebM Live Muxing by adding a new WebM
Chunk muxer. It writes out live WebM Chunks which can be used for
playback using Live DASH Clients.

Please see muxers.texi for sample usage.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 15:08:59 +02:00
Vignesh Venkatasubramanian
26f2e2f3f7 webmdashenc: Support for live stream manifests
This patch adds support for creating DASH manifests for WebM Live
Streams. It also updates the documentation and adds a fate test to
verify the behavior of the new muxer flag.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-05 02:08:55 +02:00
Liviu Oniciuc
d2330e5844 doc/muxers/image2: remove the non-negative number requirement for start_number
Update after b37858eae1.
2015-02-04 13:17:30 +01:00
dhead666
48e36f8a12 libavformat/mpegtsenc: allow to set service_type in sdt
This adds an option to set the service type in mpegts as defined in ETSI 300 468.

I added what I believe are the most useful service types as pre defined values,
the others can be sent by using their hexdecimal form directly (e.g. -mpegts_service_type digital_radio, -mpegts_service_type 0x07).

I've been using this patch in order to pipe internet radio stream (originally as HLS/m3u8) from ffmpeg to tvheadend,
when the service type set right tvheadend recognize the mpegts stream as a radio channel.

The patch in its original form was written by linuxstb from freenode's hts channel which allowed me pushing it upstream.

This close issue 4118.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 22:02:26 +01:00
Michael Niedermayer
9bacb576bc Merge commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16'
* commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16':
  ogg: Provide an option to offset the serial number

Conflicts:
	libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-01 13:22:21 +01:00
Luca Barbato
f726fc21ef ogg: Provide an option to offset the serial number
The ogg serial number doubles as codec id and sequence
value for concatenated samples.
2015-02-01 02:28:40 +01:00
Stefano Sabatini
40b026b1d0 doc/muxers/segment: document strftime option
It was added in commit 202947a066.
2015-01-30 11:52:37 +01:00
Lou Logan
919e038a95 doc: fix typos
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-01-07 17:17:33 -09:00
Christian Suloway
97b65f6126 avformat/hlsenc: added segment file deletion
This option flag deletes segment files removed from the playlist after a
period of time equal to the duration of the segment plus the duration of
the playlist.

Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-10 23:49:25 +01:00
Christian Suloway
1c639fa6e0 avformat/hlsenc: added segment filename option
This option allows segment filenames to be specified. Unless -hls_flags
single_file is set the filename is used as a string format with the
segment number.

Example:
ffmpeg -f lavfi -i testsrc -c:v h264 -map 0 -hls_segment_filename
bar%03d.ts foo.m3u8

Signed-off-by: Christian Suloway <csuloway@globaleagleent.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-06 02:28:23 +01:00
Michael Niedermayer
0bdc5db520 Merge commit '95a449d3ce8e15522df47a80a8a4593ea5c2b1bb'
* commit '95a449d3ce8e15522df47a80a8a4593ea5c2b1bb':
  movenc: Remove an outdated comment

Conflicts:
	libavformat/movenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-08 10:57:10 +01:00
Martin Storsjö
95a449d3ce movenc: Remove an outdated comment
QuickTime does support files with an empty initial movie
these days.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-08 11:13:37 +02:00
Michael Niedermayer
8065a0cdbe Merge commit 'cf589faa5b7aed3bb38e08dcd00bd951e69686d1'
* commit 'cf589faa5b7aed3bb38e08dcd00bd951e69686d1':
  movenc: Add a flag for using default-base-is-moof in tfhd atoms

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-31 01:46:25 +01:00
Michael Niedermayer
be787bccc0 Merge commit 'a9911a1b2df37ca808e06dc30627215f4ec9a9e4'
* commit 'a9911a1b2df37ca808e06dc30627215f4ec9a9e4':
  doc: Document the omit_tfhd_offset flag to the mp4 muxer

Conflicts:
	doc/muxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 02:45:36 +01:00
Martin Storsjö
cf589faa5b movenc: Add a flag for using default-base-is-moof in tfhd atoms
Similarly to the omit_tfhd_offset flag added in e7bf085b, this
avoids writing absolute byte positions to the file, making them
more easily streamable.

This is a new feature from 14496-12:2012, so application support
isn't necessarily too widespread yet (support for it in libav was
added in 20f95f21f in July 2014).

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-29 23:04:04 +02:00
Martin Storsjö
a9911a1b2d doc: Document the omit_tfhd_offset flag to the mp4 muxer
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-29 23:03:45 +02:00
Michael Niedermayer
e744e9a305 Merge commit 'ef363ebd596da18f889a7d4845023a23dfac84c9'
* commit 'ef363ebd596da18f889a7d4845023a23dfac84c9':
  mp3enc: write full LAME frame

Conflicts:
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 15:30:12 +02:00
Michael Niedermayer
7ad34f4456 Merge commit 'c63418e0a3afbcdbc59fd65c270d45efafe092ce'
* commit 'c63418e0a3afbcdbc59fd65c270d45efafe092ce':
  doc: reword the mp3 muxer documentation

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-24 12:59:27 +02:00
Anton Khirnov
ef363ebd59 mp3enc: write full LAME frame
Most importantly, it contains the encoder delay and replaygain info.
2014-10-24 09:03:16 +02:00
Anton Khirnov
c63418e0a3 doc: reword the mp3 muxer documentation
Make it more structured.
2014-10-24 09:03:16 +02:00
Michael Niedermayer
883bc7d2e7 Merge commit '55f03d872640175a00bfa262da4652b7312b905f'
* commit '55f03d872640175a00bfa262da4652b7312b905f':
  hlsenc: Add parameter -hls_allow_cache

Conflicts:
	doc/muxers.texi
	libavformat/hlsenc.c
	libavformat/version.h

See: 3edb9aaea6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 21:46:40 +02:00
Joakim Roubert
55f03d8726 hlsenc: Add parameter -hls_allow_cache
The -hls_allow_cache parameter enables explicitly setting the
EXT-X-ALLOW-CACHE tag in the manifest file. That tag indicates
whether the client MAY or MUST NOT cache downloaded media
segments for later replay.

Valid values are 1 (=YES) or 0 (=NO) and the EXT-X-ALLOW-CACHE
will not show in the manifest for other values (or if
-hls_allow_cache is not used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-10-03 20:20:28 +03:00
Joakim Roubert
3edb9aaea6 avformat/hlsenc: Added parameter -hls_allow_cache
The -hls_allow_cache parameter enables explicitly setting the
EXT-X-ALLOW-CACHE tag in the manifest file. That tag indicates
whether the client MAY or MUST NOT cache downloaded media
segments for later replay.

Valid values are 1 (=YES) or 0 (=NO) and the EXT-X-ALLOW-CACHE
will not show in the manifest for other values (or if
-hls_allow_cache is not used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-28 03:09:05 +02:00
Steven Liu
2c21e8b1a4 lavf/hls: add hls_ts_option
Same as COMMITID 4f5493fe23.

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2014-09-16 16:30:03 +02:00
Mika Raento
f685f7d7a8 hlsenc: single_file, support HLS ver 4 byteranges
This adds a new option -hls_flags single_file that creates one .ts file
for HLS and adds byteranges to the .m3u8 file, instead of creating one
.ts file for each segment.

This is helpful at least for storing large number of videos, as the
number of files per video is drastically reduced and copying and storing
those files takes less requests and inodes.

This is based on work by Nicolas Martyanoff, discussed on ffmpeg-devel
in July 2014. That patch seems abandoned by the author, and contained
unrelated changes. This patch tries to add the minimum amount of code to
support the byterange playlists.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-15 22:16:44 +02:00
Stefano Sabatini
de1f0c94cd doc/muxers/segment: reword text for examples, improve consistency 2014-09-07 13:17:46 +02:00
Stefano Sabatini
4f5493fe23 lavf/segment: add segment_format_options option 2014-09-07 13:17:46 +02:00
Michael Niedermayer
a32e306be3 doc/muxers: document which applications are known to need disable_chpl.
Thanks to: John Stebbins <stebbins@jetheaddev.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-06 03:59:37 +02:00
Michael Niedermayer
a53a107a2f Merge commit '0897d2fdc7755849c3ae58d8b543ef734c200d3c'
* commit '0897d2fdc7755849c3ae58d8b543ef734c200d3c':
  movenc: Add option to disable nero chapters

Conflicts:
	doc/muxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 13:58:10 +02:00
John Stebbins
0897d2fdc7 movenc: Add option to disable nero chapters
And add flag to muxer documentation.
Nero chapters break some taggers (mp3tag and iTunes).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-08-05 11:36:08 +02:00
Simon Thelen
fa6716c66d libavformat/segment: change segment_list_size behavior to match hls_list_size behavior.
Make the segment muxer keep segment_list_size segments instead of
segment_list_size + 1 segments. This patch also changes the
documentation for segment_list_size to reduce possible confusion over
how many segments are kept.

this allows the segment list to
be limited to containing only one segment which used to be impossible
because a segment_list_size of 0 kept all the segments and a
segment_list_size of 1 kept 2 segments.

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 02:35:56 +02:00
Vignesh Venkatasubramanian
3e73d14290 lavf: Add WebM DASH Manifest Muxer
This patch adds the ability to generate WebM DASH manifest XML using
ffmpeg. A sample command line would be as follows:

ffmpeg \
  -f webm_dash_manifest -i video1.webm \
  -f webm_dash_manifest -i video2.webm \
  -f webm_dash_manifest -i audio1.webm \
  -f webm_dash_manifest -i audio2.webm \
  -map 0 -map 1 -map 2 -map 3 \
  -c copy \
  -f webm_dash_manifest \
  -adaptation_sets “id=0,streams=0,1 id=1,streams=2,3” \
  manifest.xml

It works by exporting necessary fields as metadata tags in matroskadec
and use those values to write the appropriate XML fields as per the WebM
DASH Specification [1]. Some ideas are adopted from webm-tools project
[2].

[1]
https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification
[2]
https://chromium.googlesource.com/webm/webm-tools/+/master/webm_dash_manifest/

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 23:58:36 +02:00
Deti fliegl
8cda23f341 avformat/segment: Support cutting at clocktime
Signed-off-by: Deti fliegl <fliegl@baycom.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 22:56:55 +02:00
Michael Niedermayer
1ebc77bc7d Merge commit '49a242687cf44f86570b706db3c5912ff06bc6c2'
* commit '49a242687cf44f86570b706db3c5912ff06bc6c2':
  doc: Document segment_list_type

Conflicts:
	doc/muxers.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 23:13:31 +02:00
Luca Barbato
49a242687c doc: Document segment_list_type 2014-06-18 22:03:40 +02:00
Michael Niedermayer
aff0912da5 Merge commit 'f121dbd9f76031d7f6d56261be2f14937a19d2dd'
* commit 'f121dbd9f76031d7f6d56261be2f14937a19d2dd':
  mpegts: Provide an option to override the pcr period

Conflicts:
	doc/muxers.texi
	libavformat/mpegtsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 23:55:57 +02:00
Michael Niedermayer
ac26d7ea9d Merge commit 'a736ae1e96b8718af0962106aa40df5f4b246b55'
* commit 'a736ae1e96b8718af0962106aa40df5f4b246b55':
  doc: Document mpegts muxrate

Conflicts:
	doc/muxers.texi

See: 5b76c3a120
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-10 23:25:46 +02:00
Luca Barbato
f121dbd9f7 mpegts: Provide an option to override the pcr period
Certain hardware demuxer have specific restrictions for PCR periodicity.
2014-06-10 22:05:44 +02:00
Luca Barbato
a736ae1e96 doc: Document mpegts muxrate 2014-06-10 22:05:44 +02:00
Lou Logan
88f2586adb fix various typos
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 10:58:19 -08:00
Michael Niedermayer
8d4d12a490 doc/muxers: Document problems of omitting nut syncpoints as well as alternatives
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 18:42:22 +02:00
Michael Niedermayer
82beb46e65 avformat/nutenc: add mode that omits the index
When the index is not written, several data tables become unneeded,
reducing memory and cpu requirements.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 03:37:37 +02:00
Michael Niedermayer
a8499cbbe8 Merge commit 'c94e2e85cb6af8a570d8542a830556243bd32873'
* commit 'c94e2e85cb6af8a570d8542a830556243bd32873':
  nut: Support experimental NUT 4 features

Conflicts:
	doc/nut.texi
	libavformat/nut.h
	libavformat/nutdec.c
	libavformat/nutenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-29 01:13:59 +02:00
Luca Barbato
c94e2e85cb nut: Support experimental NUT 4 features
Add the low overhead pipe mode and the extended broadcast mode.
Export the options as 'syncponts' since it impacts only that.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-05-28 22:04:56 +02:00
Andrey Utkin
8cc6e91f69 Document smoothstreaming muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-10 00:06:32 +02:00
Michael Niedermayer
217f6c53e5 Merge commit '5a70a783f04919514efec7751d710b64d8975fd7'
* commit '5a70a783f04919514efec7751d710b64d8975fd7':
  hls: Add an option to prepend a baseurl to the playlist entries

Conflicts:
	doc/muxers.texi
	libavformat/hlsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 16:37:22 +02:00
Michael Niedermayer
fd601ba6b1 Merge commit '5c08ae4f37281441188447cd04dcaf7cd7ce031f'
* commit '5c08ae4f37281441188447cd04dcaf7cd7ce031f':
  segment: Add an option to prepend a string to the list entries

Conflicts:
	doc/muxers.texi
	libavformat/segment.c

See: 5e278c19c7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 15:57:43 +02:00
Luca Barbato
5a70a783f0 hls: Add an option to prepend a baseurl to the playlist entries
Useful to generate playlists with absolute paths.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-29 12:14:11 +02:00
Enrique Arizón Benito
5c08ae4f37 segment: Add an option to prepend a string to the list entries
Useful to generate lists with absolute urls.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-29 12:14:00 +02:00
Michael Niedermayer
ef312b8f0f Fix bistream typos
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-27 15:30:25 +02:00