Age | Commit message (Collapse) | Author |
|
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>
|
|
The AVStream.parser field is considered private and its location cannot be
preserved while preserving also ABI compatibility to libav, as libav added fields
before it.
Some tools like ffmpeg.c access this field though
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '194be1f43ea391eb986732707435176e579265aa':
lavf: switch to AVStream.time_base as the hint for the muxer timebase
Conflicts:
doc/APIchanges
libavformat/filmstripenc.c
libavformat/movenc.c
libavformat/mxfenc.c
libavformat/oggenc.c
libavformat/swf.h
libavformat/version.h
tests/ref/lavf/mkv
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Previously, AVStream.codec.time_base was used for that purpose, which
was quite confusing for the callers. This change also opens the path for
removing AVStream.codec.
The change in the lavf-mkv test is due to the native timebase (1/1000)
being used instead of the default one (1/90000), so the packets are now
sent to the crc muxer in the same order in which they are demuxed
(previously some of them got reordered because of inexact timestamp
conversion).
|
|
|
|
* commit '95b7fa1729b93bbb3f4fb85a5c0cb53cf970c3c7':
oggenc: Support flushing the muxer
Conflicts:
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
This allows the caller to write all buffered data to disk, allowing
the caller to know at what byte position in the file a certain
packet starts (any packet written after the flush will be located
after that byte position).
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
* commit '6d212599aa684f30511fb08ca30fe2378405304e':
avformat: Provide a standard compliance flag
Conflicts:
doc/APIchanges
libavformat/avformat.h
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Provide f_strict for avconv usage.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit 'c23c96b638cbf6c489fd301e6b3d5555632fba37':
lavf: add av_stream_get_side_data
Conflicts:
doc/APIchanges
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
* commit 'a312f71090ee620ee252f2034aef6b13e2dafe9c':
lavf: deprecate now unused AVStream.pts
Conflicts:
libavformat/mux.c
libavformat/version.h
mostly not merged as the code is needed for a/vsync drop handling
and what the code does is what is needed, it could maybe be moved
elsewhere or factored somehow but simply removing it would be droping
these features.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
* commit '0c1959b056f6ccaa2eee2c824352ba93c8e36d52':
lavf: add AVFMT_FLAG_BITEXACT.
Conflicts:
doc/APIchanges
libavformat/avformat.h
libavformat/flacenc.c
libavformat/movenc.c
libavformat/oggenc.c
libavformat/options_table.h
libavformat/version.h
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.
Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.
|
|
* commit 'a1aa37dd0b96710d4a17718198a3f56aea2040c1':
matroskaenc: write CodecDelay
Conflicts:
libavformat/matroskaenc.c
tests/ref/lavf/mkv
tests/ref/seek/lavf-mkv
This is largely not merged as it causes assertion failures and av sync errors
Further investigation of this is warranted if the changes are found to
fix/improve something in relation to d92b1b1babe69268971863649c225e1747358a74
See: d92b1b1babe69268971863649c225e1747358a74
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '55ddd700c67529ff2c6c4e976673f1341bba7a82':
Silicon Graphics Movie demuxer
Conflicts:
Changelog
libavformat/mvdec.c
libavformat/version.h
See: 6fb40779cd3457a819e20d6db91a142c47cad3c2
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
Provides API to query device capabilities.
Each device must implement callbacks to benefit from this API.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
|
|
Neither WMP nor QT play wav files with too large channel layouts.
Fixes ticket #3543.
|
|
* commit 'eeadcdfd1a6f3089b6bf6e194d6ece8d3f113123':
LucasArts SMUSH demuxer
Conflicts:
Changelog
doc/general.texi
libavformat/smush.c
libavformat/version.h
See: bef8fd7099edfac9c487e6eb75d7e6116ad80465
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
|
|
has not been otherwise identified
This is used only for distinguishing .pix formats for now.
Which is the only case that has image2 demuxers currently
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
* commit '70daeacd6ef8b354dd7d2d77ad393831a5bbf033':
PAF demuxer and decoder
Conflicts:
Changelog
doc/general.texi
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavcodec/paf.c
libavcodec/version.h
libavformat/Makefile
libavformat/allformats.c
libavformat/paf.c
libavformat/version.h
See: 7de4a16508cb9bd2d40855f7114dea14329ef62a, and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
|
|
* commit '25b32586566f285d797737863c97a1c5c9c84e2b':
lavf: add an AVStream field for exporting stream-global side data
Conflicts:
libavformat/utils.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
For muxing, it accepts
both 0 and AV_NOPTS_VALUE. For demuxing, it will present
AV_NOPTS_VALUE when start_time_realtime is unknown.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
MicroDVD files are normally frame-based (i.e. there are no absolute
timestamps), but can have an optional frame rate header. If this
header is missing, the timestamps depend on the frame rate of the
video they were created for.
The demuxer will use a fallback frame rate if it's missing from the
header. Currently, applications using libavformat can't know whether
the time base is based on the fallback value, or if a frame rate
header was present.
This commit introduces a subfps AVOption for MicroDVD, and the
demuxer sets it if and only if a frame rate header was present.
Signed-off-by: Clément Bœsch <u@pkh.me>
|
|
Make it possible to find out what protocol will be chosen
for a given URL.
Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
|
|
Copy multiple languages data from PMT to extradata. New 5 bytes
per language extradata format.
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
|
|
* commit 'd9ae1031f5edbd25c8526b4cb51aba66d3bee931':
lavf: improve handling of sparse streams when muxing
Conflicts:
doc/APIchanges
libavformat/avformat.h
libavformat/mux.c
libavformat/options_table.h
libavformat/version.h
See: 37ed5df5c5e06a55724fb9eb215da1594b648282
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Currently ff_interleave_packet_per_dts() waits until it gets a frame for
each stream before outputting packets in interleaved order.
Sparse streams (i.e. streams with much fewer packets than the other
streams, like subtitles or audio with DTX) tend to add up latency and in
specific cases end up allocating a large amount of memory.
Emit the top packet from the packet_buffer if it has a time delta
larger than a specified threshold.
Original report of the issue and initial proposed solution by
mus.svz@gmail.com.
Bug-id: 31
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
This makes the code clearer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
This option can be generally useful to set an output offset, needed when
setting an absolute index in the output.
|
|
|
|
New API allows to send messages from devices to application.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
|
|
New API allows to send messages from application to devices.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
|
|
This field is used to store the number of bytes that should be written
as padding to a metadata header of a file. For example:
- The FLAC format's METADATA_BLOCK_PADDING [1]
- The ID3v2 tag format's padding [2]
[1] http://xiph.org/flac/format.html#metadata_block_padding
[2] http://id3.org/id3v2.3.0#ID3v2_overview
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Allows to specify private key to use during authorization.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
|