Commit Graph

27 Commits

Author SHA1 Message Date
KongQun Yang 224b597b48 Support approximate SegmentTimeline
It is not always possible to align segment duration to target duration
exactly. For example, for AAC with sampling rate of 44100, there are
always 1024 audio frames per sample, so the sample duration is
1024/44100. For a target duration of 2 seconds, the closest segment
duration would be 1.984 or 2.00533.

This feature allows MPD generator to treat these segments as having
the same duration, thus allows MPD generator to generate less
SegmentTimeline entries and potentially no SegmentTimeline entries
(replaced with SegmentTemplate@duration instead if
  --segment_template_constant_duration flag is enabled).

Under flag --allow_approximate_segment_timeline. Disabled by default.

Fixes #330.

Change-Id: I5044eaa348ebbf45bf792a2af53fc95a115ae21b
2018-04-30 17:15:47 -07:00
Haoming Chen dddbb19701 Rename Playready to PlayReady.
Change-Id: I11e0b0a0cc32aec574804e7cb02291dc3174357c
2018-04-26 11:38:31 -07:00
KongQun Yang 222737d5b5 Support UTCTiming
UTCTiming schemeIdUri and value pairs can be provided to packager using
--utc_timings flag. It should be comma separated list of
schemeIdUri=value pairs.

Note that urn:mpeg:dash:utc:direct:2014 scheme is not supported as it
requires the MPD to be dynamically generated on the fly when MPD is
served to client.

Fixes #311.

Change-Id: Ibc07af8a6d8b2b6261ba3ecd2c02f23809f96614
2018-04-04 01:37:01 +00:00
KongQun Yang 587de5be30 [Doc] Make UDP file options clearer
Issue #332.

Change-Id: I3a2b1e1e0525eaba5bb657ce0481d96ceafb4e89
2018-03-17 00:36:06 +00:00
fatpelt 6a8d2aa443 Add Source Specific Multicast (SSM) support
SSM can be enabled using "source" option in UDP options. Previously, "source" is considered the same as "interface", which is incorrect. 

Fixes #332.
2018-03-06 10:09:28 -08:00
KongQun Yang 0401d62a3f Update documentation on Widevine DRM with more examples
Change-Id: I5230e8b138c4abda44c2fb54bc2f8b2d7d3e3b85
2018-02-08 02:35:53 +00:00
KongQun Yang 3606f313d6 Updated documentation with webvtt and iframe playlist examples
Closes #205, #287

Change-Id: I77ca15f63e262eb0eaff7b6d74d259d30da9f823
2018-02-08 02:35:39 +00:00
KongQun Yang 570a2d1a15 Support 'iframe_playlist_name' stream descriptor
Issue: #287

Change-Id: I484761dfacadce05175d16c4c12454f0ed932579
2018-02-02 22:00:18 +00:00
KongQun Yang d8e3ca344c Added example with DASH+HLS
Also fixed a few documentation problems.

Change-Id: I52cfda8f04635235fabef617af482a0ce66970ea
2018-01-29 23:17:10 +00:00
KongQun Yang d9871330e7 Move common manifest flags out of mpd_flags.cc
Also updated documentations.

Fixes #304

Change-Id: I5e8e87b005ebfa9dc78d47e2501585b083120f6c
2018-01-19 21:02:54 +00:00
KongQun Yang fcc334d652 [Doc] Fix a few problems
- Add --time_shift_buffer_depth to HLS doc.
- Fix a problem in HLS tutorial

Partially address #304, fixes #305

Change-Id: I60bc1eb659a30beb0a6ab73433f4cc99a7deab07
2017-12-21 23:07:59 +00:00
Michael Stillwell a8f46fcd2e Update playlist_name docs (#307)
Make it clear that shaka packager will create the playlist file.

#305
2017-12-20 10:25:58 -08:00
KongQun Yang d089a36ca9 [Doc] Replace basic_usage.md with basic_usage.rst
Change-Id: I0b1284041000174809365659631985bcaf9db3f7
2017-12-12 00:24:36 +00:00
KongQun Yang 82e0fd2095 Default multicast interface address to "0.0.0.0" if absent
It aligns with what a lot of other apps are doing, e.g. tsplay.

Also added notes in docker to adjust network setting if wants to use
multicast in docker container.

Change-Id: I666a8979cc041c904f7ff8e3e022f800c0830d5d
2017-12-04 19:21:52 +00:00
KongQun Yang 75e1fc3175 Added architecture diagram
Also remove outdated design.md.

Change-Id: I237b374a2fffe348b1daf5f8d1c37c57b4898fde
2017-12-01 00:29:50 +00:00
KongQun Yang 5cf2b17ade Add --hls_key_uri to allow setting fairplay/identity key uri
Change-Id: I52e0f56cd10390faf515170f407ea488a6b3c9fc
2017-11-14 15:49:27 +00:00
KongQun Yang d66d307fc2 Rename fixed_key to raw_key
Change-Id: I1ee9398387b54aa685a5bef5b8704849e62ebae3
2017-10-24 21:52:01 +00:00
KongQun Yang 7c38963c29 [doc] Update raw key tutorial
Change-Id: Ife841975c036cf8042c9775583c409e0daa089c7
2017-10-24 21:51:39 +00:00
KongQun Yang 1bf1ec2445 Add multi-key support in fixed/raw keys
The keys can be specified in --keys option, with the form of
  label=<label>:key_id=<32-digit hex string>:key=<32-digit hex string>,label=...

There can be multiple "label=..." block. The DRM label can be one
of "AUDIO, SD, HD, UHD1, UHD2" or a custom label.

Mark --key and --key_id as deprecated. We can achieve the same result
with --keys=label=:key_id=<key_id>:key=<key>.

Also add a new optional field in stream descriptor: drm_label, which
is used to overwrite the internally generated DRM label for the stream.
If not provided, the DRM label is generated automatically based on
audio/video information, e.g. resolution.

Code changes:
- Merged RawKeyEncryptionParams and RawKeyDecryptionParams into
  RawKeyParams.
- Make FixedKeySource accepts RawKeyParams as input.

Change-Id: Ic8c2f071cc71188e13f14bc6396fc2b3ffa5cac6
2017-10-24 21:04:49 +00:00
Joey Parrish e2bb22c633 Update docs for HLS descriptor fields
These fields are no longer required, and have sensible defaults.

Change-Id: I35bd489c8e6058f3272210cb6f3b0f504819e7c0
2017-10-17 11:37:44 -07:00
KongQun Yang df6878ee6d Update ffmpeg piping with udp and rtp
Also updated the tutorial for live and added ffmpeg_piping to toc.

Change-Id: I5596723cbd709e742ceab0f0789801f58606b932
2017-09-22 15:28:59 -07:00
KongQun Yang 4e7f7ac04b Fix README rendering problems
Change-Id: I3e2b592eef99ea1895cf32a86e135932730a0b82
2017-09-19 20:30:30 -07:00
KongQun Yang 21b0ca6ea5 Cleanup README
Moved build instructions and docker instructions to separate docs.

Removed command samples which are no longer needed as we have better
tutorials now.

Change-Id: I340c5653a6553158325970dd86d76fa11e69bcbd
2017-09-19 18:44:39 -07:00
KongQun Yang fcf2873211 Updated style for option list and field list
This makes them looking better.

Change-Id: Icf3827a779bda470ed6a6ac8e56d2daa19e773a5
2017-09-19 14:52:25 -07:00
KongQun Yang c64b92bf8f Sphinxdoc configure and other main pages
Build sphinx docs in docs/ directory:

$ make html

The outputs are created in out/sphinx directory.

Change-Id: I040915a30aa52d41b18e04741e45622fa61244f6
2017-09-19 14:48:52 -07:00
KongQun Yang 6e2b4a28e1 Tutorials for Sphinxdoc
Change-Id: I3d43205b81d168c60f7ab2b7f246bd8a07e68e43
2017-09-19 21:45:33 +00:00
KongQun Yang 0adf0492ab Move command line options to Sphinxdoc
Change-Id: Ia043612012ff3d101afcf3366d95f9001f0dc8f4
2017-09-13 00:09:55 +00:00