Release 1.3.0

Change-Id: Ia6707938d539888de5178df79e1088fdbedcdd73
This commit is contained in:
KongQun Yang 2016-01-11 16:31:45 -08:00
parent 8563db4cff
commit 7869d509a2
3 changed files with 61 additions and 7 deletions

View File

@ -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
### Fixed
- 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
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.1.0]: https://github.com/google/edash-packager/compare/v1.0...v1.1

View File

@ -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.
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 #
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 #
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
@ -112,9 +130,7 @@ 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.
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](DESIGN.md), [API](https://google.github.io/edash-packager/docs) for details.
Refer to [Design](docs/design.md), [API](https://google.github.io/edash-packager/docs) for details.
# DASH-IF IOP Compliance #
@ -164,6 +180,17 @@ packager \
--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:
```Shell
packager \