Age | Commit message (Collapse) | Author |
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Can be used to fix Ticket3714
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
|
|
Place @item entry at the right point, remove duplicated description.
|
|
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>
|
|
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>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
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>
|
|
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>
|
|
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>
|
|
Update after b37858eae186ff84afd38cf3e845ba6e037e6397.
|
|
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>
|
|
* commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16':
ogg: Provide an option to offset the serial number
Conflicts:
libavformat/oggenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
The ogg serial number doubles as codec id and sequence
value for concatenated samples.
|
|
It was added in commit 202947a0665ea523022afb0a6c50eed96bcd6b69.
|
|
Signed-off-by: Lou Logan <lou@lrcd.com>
|
|
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>
|
|
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>
|
|
* commit '95a449d3ce8e15522df47a80a8a4593ea5c2b1bb':
movenc: Remove an outdated comment
Conflicts:
libavformat/movenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
QuickTime does support files with an empty initial movie
these days.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
* 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>
|
|
* commit 'a9911a1b2df37ca808e06dc30627215f4ec9a9e4':
doc: Document the omit_tfhd_offset flag to the mp4 muxer
Conflicts:
doc/muxers.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
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>
|
|
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
* commit 'ef363ebd596da18f889a7d4845023a23dfac84c9':
mp3enc: write full LAME frame
Conflicts:
libavformat/mp3enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'c63418e0a3afbcdbc59fd65c270d45efafe092ce':
doc: reword the mp3 muxer documentation
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Most importantly, it contains the encoder delay and replaygain info.
|
|
Make it more structured.
|
|
* commit '55f03d872640175a00bfa262da4652b7312b905f':
hlsenc: Add parameter -hls_allow_cache
Conflicts:
doc/muxers.texi
libavformat/hlsenc.c
libavformat/version.h
See: 3edb9aaea6aaa6b93d708693cfa6454c17e03732
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
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>
|
|
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>
|
|
Same as COMMITID 4f5493fe2380ad4aba67759baa7d7d4437f2e776.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
|
|
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>
|
|
|
|
|
|
Thanks to: John Stebbins <stebbins@jetheaddev.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '0897d2fdc7755849c3ae58d8b543ef734c200d3c':
movenc: Add option to disable nero chapters
Conflicts:
doc/muxers.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
And add flag to muxer documentation.
Nero chapters break some taggers (mp3tag and iTunes).
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
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>
|
|
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>
|
|
Signed-off-by: Deti fliegl <fliegl@baycom.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '49a242687cf44f86570b706db3c5912ff06bc6c2':
doc: Document segment_list_type
Conflicts:
doc/muxers.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
* 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>
|
|
* commit 'a736ae1e96b8718af0962106aa40df5f4b246b55':
doc: Document mpegts muxrate
Conflicts:
doc/muxers.texi
See: 5b76c3a1204944a74f4c1fb4ce1ebe58940e7f78
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Certain hardware demuxer have specific restrictions for PCR periodicity.
|
|
|
|
Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|