Release 1.3.0
Change-Id: Ia6707938d539888de5178df79e1088fdbedcdd73
This commit is contained in:
parent
8563db4cff
commit
7869d509a2
27
CHANGELOG.md
27
CHANGELOG.md
|
@ -1,3 +1,28 @@
|
||||||
|
## [1.3.0] - 2016-01-15
|
||||||
|
### Added
|
||||||
|
- Added support for new container format: WebM.
|
||||||
|
- Added support for new codecs:
|
||||||
|
- H265 in ISO-BMFF (H265 in other containers will be added later).
|
||||||
|
- VP8, VP9 in WebM and ISO-BMFF (experimental).
|
||||||
|
- Opus and Vorbis in WebM.
|
||||||
|
- DTS in ISO-BMFF.
|
||||||
|
- Added Verbose logging through --v or --vmodule command line flags.
|
||||||
|
- Added Subtitle support for On-Demand: allowing subtitle inputs in webvtt or
|
||||||
|
ttml. Support for subtitle inputs in media files will be added later.
|
||||||
|
- Added version information in generated outputs.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Store Sample Auxiliary Information in Sample Encryption Information ('senc')
|
||||||
|
box instead of inside Media Data ('mdat') box.
|
||||||
|
- Got rid of svn dependencies, now all dependencies are in git repo.
|
||||||
|
- Switched to boringssl, replacing openssl.
|
||||||
|
|
||||||
|
### Fixed (in addition to fix in 1.2.1)
|
||||||
|
- Fixed issue #55 DASH validation (conformance check) problems.
|
||||||
|
- Fixed AssetId overflow in classic WVM decryption when AssetId exceeds
|
||||||
|
0x8000000.
|
||||||
|
- Fixed a memory leak due to thread object tracking #61.
|
||||||
|
|
||||||
## [1.2.1] - 2015-11-18
|
## [1.2.1] - 2015-11-18
|
||||||
### Fixed
|
### Fixed
|
||||||
- Fixed a deadlock in MpdBuilder which could lead to program hang #45
|
- Fixed a deadlock in MpdBuilder which could lead to program hang #45
|
||||||
|
@ -85,5 +110,7 @@ First public release.
|
||||||
- Added mpd_generator driver program to generate mpd file from packager generated
|
- Added mpd_generator driver program to generate mpd file from packager generated
|
||||||
intermediate files.
|
intermediate files.
|
||||||
|
|
||||||
|
[1.3.0]: https://github.com/google/edash-packager/compare/v1.2.0...v1.3.0
|
||||||
|
[1.2.1]: https://github.com/google/edash-packager/compare/v1.2.0...v1.2.1
|
||||||
[1.2.0]: https://github.com/google/edash-packager/compare/v1.1...v1.2.0
|
[1.2.0]: https://github.com/google/edash-packager/compare/v1.1...v1.2.0
|
||||||
[1.1.0]: https://github.com/google/edash-packager/compare/v1.0...v1.1
|
[1.1.0]: https://github.com/google/edash-packager/compare/v1.0...v1.1
|
||||||
|
|
41
README.md
41
README.md
|
@ -2,13 +2,31 @@ Media packaging SDK intended for C++ programmers writing DASH packager applicati
|
||||||
|
|
||||||
This document provides the information needed to create a DASH packager that is able to remux and encrypt a video into fragmented ISO BMFF format with common encryption (CENC) support. The DASH packaging API is also designed in such a way for easy extension to more source and destination formats.
|
This document provides the information needed to create a DASH packager that is able to remux and encrypt a video into fragmented ISO BMFF format with common encryption (CENC) support. The DASH packaging API is also designed in such a way for easy extension to more source and destination formats.
|
||||||
|
|
||||||
|
Current supported codecs:
|
||||||
|
|
||||||
|
| Codecs | ISO-BMFF | WebM | MPEG2-TS | WVM |
|
||||||
|
|:-----------------:|:------------:|:------------:|:------------:|:-----------:|
|
||||||
|
| H264 (AVC) | I / O | I | - | I |
|
||||||
|
| H265 (HEVC) | I / O | - | - | - |
|
||||||
|
| VP8 | I / O | I / O | - | - |
|
||||||
|
| VP9 | I / O | I / O | - | - |
|
||||||
|
| AAC | I / O | - | I | I |
|
||||||
|
| DTS | I / O | - | - | - |
|
||||||
|
| Opus | - | I / O | - | - |
|
||||||
|
| Vorbis | - | I / O | - | - |
|
||||||
|
** I for input and O for output.
|
||||||
|
** We will update this table once new formats are supported.
|
||||||
|
|
||||||
|
Right now this project is supported directly on Linux platform only. One option to run edash-packager on other platforms is using [docker] (#Using docker for testing /development).
|
||||||
|
|
||||||
|
|
||||||
# Mailing list #
|
# Mailing list #
|
||||||
|
|
||||||
We have a [public mailing list](https://groups.google.com/forum/#!forum/edash-users) for discussion and announcements. To receive notifications about new versions, please join the list. You can also use the list to ask questions or discuss eDash Packager developments.
|
We have a [public mailing list](https://groups.google.com/forum/#!forum/edash-users) for discussion and announcements. To receive notifications about new versions, please join the list. You can also use the list to ask questions or discuss eDash Packager developments.
|
||||||
|
|
||||||
# Setting up for development #
|
# Setting up for development #
|
||||||
|
|
||||||
1. Packager source is managed by Git at https://www.github.com/google/edash-packager. We use gclient tool from Chromium to manage third party libraries. You will need Git (v1.7.5 or above) and Subversion (for third party libraries) installed on your machine to access the source code.
|
1. Packager source is managed by Git at https://www.github.com/google/edash-packager. We use gclient tool from Chromium to manage third party libraries. You will need Git (v1.7.5 or above) installed on your machine to access the source code.
|
||||||
|
|
||||||
2. Install Chromium depot tools which contains gclient and ninja
|
2. Install Chromium depot tools which contains gclient and ninja
|
||||||
|
|
||||||
|
@ -98,7 +116,7 @@ We have a [public mailing list](https://groups.google.com/forum/#!forum/edash-us
|
||||||
Outputs are available in your media folder `your_media_path`.
|
Outputs are available in your media folder `your_media_path`.
|
||||||
|
|
||||||
|
|
||||||
#Design overview#
|
# Design overview #
|
||||||
|
|
||||||
Major modules are described below:
|
Major modules are described below:
|
||||||
|
|
||||||
|
@ -112,12 +130,10 @@ Demuxer and Muxer are connected using MediaStream. MediaStream wraps the element
|
||||||
|
|
||||||
MpdBuilder is responsible for the creation of Media Presentation Description as specified in ISO/IEC 23009-1 DASH MPD spec.
|
MpdBuilder is responsible for the creation of Media Presentation Description as specified in ISO/IEC 23009-1 DASH MPD spec.
|
||||||
|
|
||||||
Supported source formats: ISO BMFF (both fragmented and non-fragmented), MPEG-2 TS, IPTV (MPEG-2 TS over UDP), and WVM (Widevine); the only output format supported currently is fragmented ISO BMFF with CENC. Support for more formats will be added soon.
|
Refer to [Design](docs/design.md), [API](https://google.github.io/edash-packager/docs) for details.
|
||||||
|
|
||||||
Refer to [Design](DESIGN.md), [API](https://google.github.io/edash-packager/docs) for details.
|
|
||||||
|
|
||||||
|
|
||||||
#DASH-IF IOP Compliance#
|
# DASH-IF IOP Compliance #
|
||||||
|
|
||||||
We try out best to be compliant to [Guidelines for Implementation: DASH-IF Interoperability Points](http://dashif.org/wp-content/uploads/2015/04/DASH-IF-IOP-v3.0.pdf).
|
We try out best to be compliant to [Guidelines for Implementation: DASH-IF Interoperability Points](http://dashif.org/wp-content/uploads/2015/04/DASH-IF-IOP-v3.0.pdf).
|
||||||
|
|
||||||
|
@ -134,7 +150,7 @@ Users can enable the flag '--generate_dash_if_iop_compliant_mpd' to have these f
|
||||||
Please feel free to file a bug or feature request if there are any incompatibilities with DASH-IF IOP or other standards / specifications.
|
Please feel free to file a bug or feature request if there are any incompatibilities with DASH-IF IOP or other standards / specifications.
|
||||||
|
|
||||||
|
|
||||||
#Driver Program Sample Usage#
|
# Driver Program Sample Usage #
|
||||||
|
|
||||||
Sample driver programs **packager** and **mpd_generator** are written using the SDK.
|
Sample driver programs **packager** and **mpd_generator** are written using the SDK.
|
||||||
|
|
||||||
|
@ -164,6 +180,17 @@ packager \
|
||||||
--mpd_output sintel_vod.mpd
|
--mpd_output sintel_vod.mpd
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Includes a subtitle input from webvtt:
|
||||||
|
```Shell
|
||||||
|
packager \
|
||||||
|
input=sintel.mp4,stream=audio,output=sintel_audio.mp4 \
|
||||||
|
input=sintel.mp4,stream=video,output=sintel_video.mp4 \
|
||||||
|
input=sintel_english_input.vtt,stream=text,output=sintel_english.vtt \
|
||||||
|
--profile on-demand \
|
||||||
|
--mpd_output sintel_vod.mpd
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
You may also generate mpd with live profile. Here is an example with IPTV input streams:
|
You may also generate mpd with live profile. Here is an example with IPTV input streams:
|
||||||
```Shell
|
```Shell
|
||||||
packager \
|
packager \
|
||||||
|
|
Loading…
Reference in New Issue