1
0
Fork 0
mirror of https://github.com/alfg/mp4-rust.git synced 2024-12-22 12:06:33 +00:00
Commit graph

130 commits

Author SHA1 Message Date
ninthakeey
00b50636b6
example/copy supports vp9-in-mp4 and example/dump supports fmp4 (#41)
* feat: mvex box中的mehd box改为可选,支持fmp4的解析

* feat: support to copy mp4 with vp9 codec, but not support to copy fmp4 with vp9 codec

* Update types.rs

undo unnecessary changes.

* Update types.rs

undo reduce unnecessary changes.

* Update types.rs

* Update mp4copy.rs

Add vp9 code after h265

* Update stsd.rs

Add vp09 after the Hevc

* Update types.rs

Add after the HevcConfig.

* fix: Track.rs add vp9 support

* feat: mp4 writer set vp09 box into stsd box
2021-01-26 19:31:32 -08:00
Alf
9e8f27be2a 0.7.2 2020-12-24 17:38:35 -08:00
Alfred Gutierrez
9c43838793
bugfix: fix update_sync_samples in Mp4TrackWriter where sync is not properly set in stss box #38 (#39) 2020-12-24 17:35:13 -08:00
Alfred Gutierrez
b63522186e
Update mp4sample.rs 2020-12-16 01:14:04 -08:00
Alf
4bf4a98414 0.7.1 2020-11-23 13:55:31 -08:00
Jun, Byungwan
8af11652f1
Fix the playback bug in QuickTime and Safari (#34)
* Add dinf box

* Fix desc size bug

* Default value of track flag is TrackEnabled

* Set optional UrlBox in DrefBox
2020-11-23 13:38:05 -08:00
Alfred Gutierrez
098de52658
Update README.md 2020-09-17 22:01:23 -07:00
Alf
95ce57363a 0.7.0 2020-09-14 20:05:03 -07:00
Alfred Gutierrez
fba770a00e
Updating docs (#32)
* Updating docs.

* Fix docs tests and update to 0.7.0.
2020-09-14 19:48:00 -07:00
Alfred Gutierrez
6ec013b7b9
Fragmented tracks (#31)
* Add trun box.

* Adding Movie Extends Box and subboxes (mvex, mehd, trex).

* Adding more support for parsing fragmented tracks. Add mp4sample example.

* cleanup

* Set default_sample_duration from moov.mvex.trex for getting fragmented samples.

* fix trex box parsing/writing.
2020-09-14 18:05:34 -07:00
Alfred Gutierrez
f8f767dc07
Fragmented boxes (#30)
* Add trun box.

* Adding Movie Extends Box and subboxes (mvex, mehd, trex).
2020-09-13 00:25:08 -07:00
Alf
a1f7902c6c Skip serializing edts if Option::is_none. 2020-09-09 21:02:38 -07:00
Alf
dd2eae6eed Skip serializing vmhd/smhd if Option::is_none. 2020-09-09 20:04:06 -07:00
Alfred Gutierrez
0f373b03db
Box summary and to_json traits. (#29)
* Add Mp4Box traits for getting json or text summary for each box.

* fix test and serde version.

* skip serializing entries

* skip serializing sample_sizes

* Add custom serializer for FixedPoint types.
2020-09-08 22:24:34 -07:00
Alf
0330a8eda7 0.6.0 2020-09-06 13:04:24 -07:00
Alf
9822589734 fix is_fragmented method. 2020-09-06 13:00:34 -07:00
Alfred Gutierrez
d0e169b679
Merge pull request #28 from alfg/subtitle-track-support
Subtitle track support
2020-09-05 13:47:45 -07:00
Alf
76607394df update readme. 2020-09-05 13:43:48 -07:00
Alf
6bc1c9b217 update readme. 2020-09-05 13:38:55 -07:00
Alf
e879500c1a update mp4info example and track. 2020-09-05 13:15:31 -07:00
Alf
421d9e7606 More tx3g box parsing/writing and update tests. 2020-09-05 00:57:15 -07:00
Alf
05e20124e0 Add support for parsing subtitle tracks (tx3g box). 2020-09-04 23:09:33 -07:00
Alfred Gutierrez
fa53d6b138
Merge pull request #27 from alfg/fragmented-boxes
Add support for reading/writing fragmented mp4 (fMP4) boxes.
2020-09-03 22:12:14 -07:00
Alf
8def228352 Add support for reading/writing fragmented mp4 (fMP4) boxes. 2020-09-03 21:33:45 -07:00
Alfred Gutierrez
e4c7cf4520
Merge pull request #26 from alfg/hev1-box
Hev1 Box Support
2020-09-01 21:26:16 -07:00
Alf
3b5a728a30 fix tests and update mp4copy example. 2020-09-01 21:15:56 -07:00
Alf
042629a88c update mp4info and mp4dump examples. 2020-09-01 20:49:55 -07:00
Alf
b4b4dbd49f add support for hev1 box 2020-09-01 20:41:34 -07:00
Alfred Gutierrez
65b3408625
Merge pull request #25 from alfg/benchmarking
Benchmarking
2020-08-26 22:19:33 -07:00
Alf
be92897be6 add criterion for benchmarking performance. 2020-08-26 20:45:18 -07:00
Alf
6d1da78160 0.5.2 2020-08-25 22:08:18 -07:00
Alfred Gutierrez
682f8a93c1
Merge pull request #24 from alfg/mp4dump-example
Mp4dump example
2020-08-24 22:45:53 -07:00
Alf
b016ac3b47 add top level public function mp4::read_mp4 for using the Mp4Reader with a file path. Added simple example. 2020-08-24 22:38:05 -07:00
Alf
71f0f78ae6 remove duplicated code. 2020-08-24 22:00:48 -07:00
Alf
4df1097948 Update mp4dump example and update box_size to method in all boxes. 2020-08-24 21:49:58 -07:00
Alf
d51a193272 Add mp4dump example and update all mp4boxes with get_type and get_size methods. 2020-08-23 22:11:59 -07:00
Alfred Gutierrez
c4ff8627b0
Set optional EsdsBox in Mp4aBox. (#23)
* Make EsdsBox in Mp4aBox optional, instead of error when parsing. Also update mp4info example with some missing info that was removed.

* Update Mp4aBox test to check for optional EsdsBox.
2020-08-23 13:38:25 -07:00
Alf
0ac9986c7f 0.5.1 2020-08-20 20:09:28 -07:00
Alfred Gutierrez
6cd4f72d28
Mp4Reader and update README example (#21)
* Make ftyp and moov on Mp4Reader public. Also update README.md with working example.

* update readme
2020-08-19 21:38:57 -07:00
Alf
4f417f885d 0.5.0 2020-08-18 22:28:32 -07:00
Ian Jun
0abb242037
Refactoring (#17)
* Add ReadBox trait

* Add boxtype macro

* Remove offset in BoxHeader

* Fix parsing error when box has largesize

* Remove duplicated codes reading version and flags

* Update examples

* Fix test failure

* Rename I/O position moving functions

* skip_read() to skip_bytes()
* skip_read_to() to skip_bytes_to()
* skip_write() to write_zeros()

* Rename I/O position moving functions

* skip_read() to skip_bytes()
* skip_read_to() to skip_bytes_to()

* Ensure skip_bytes() does not go back.

Co-authored-by: Byungwan Jun <unipro.kr@gmail.com>
2020-08-06 20:35:08 -07:00
Ian Jun
b5367032a7
Update examples (#16)
* Add ReadBox trait

* Add boxtype macro

* Remove offset in BoxHeader

* Fix parsing error when box has largesize

* Remove duplicated codes reading version and flags

* Update examples

* Fix test failure

Co-authored-by: Byungwan Jun <unipro.kr@gmail.com>
2020-08-05 23:00:53 -07:00
Ian Jun
3104a2d95b
Feature/mp4copy (#14)
* Add ReadBox trait

* Add boxtype macro

* Remove offset in BoxHeader

* Fix parsing error when box has largesize

* Remove duplicated codes reading version and flags

* Add avc1 box

* Add mp4a box

* Add mp4a box

* Add DecoderSpecificDescriptor in esds box

* Add necessary sub-boxes to stbl box

* Improve ReadBox::read_box()

* Add smhd box

* Refactor BoxHeader

* Refactor BMFF

* Refactor

* Add some functions to get offset and size of sample

* Add Mp4Reader::read_sample() that read media samples

* Move Mp4Reader to reader.rs

* Add mandatory check when reading boxes

Add some methods to Mp4Reader, TrackReader
Format codes

* Update mp4info

* Refactor common types

* Add FixedPointX types

* Add media configuration, profile, ...

* Add initial Mp4Writer

* Run cargo fmt

* Add Mp4Writer and examples/mp4copy

* Add test codes for Avc1Box and Mp4aBox

* Remove prefix "get_" from method names

* Rename atoms to mp4box

* Fix some bugs

Co-authored-by: Byungwan Jun <unipro.kr@gmail.com>
2020-08-04 16:56:59 -07:00
Alfred Gutierrez
ba69f3812b
Update example in README.md. 2020-07-31 10:18:06 -07:00
Ian Jun
0df82aec5f
Feature/mp4reader (#13)
* Add ReadBox trait

* Add boxtype macro

* Remove offset in BoxHeader

* Fix parsing error when box has largesize

* Remove duplicated codes reading version and flags

* Add avc1 box

* Add mp4a box

* Add mp4a box

* Add DecoderSpecificDescriptor in esds box

* Add necessary sub-boxes to stbl box

* Improve ReadBox::read_box()

* Add smhd box

* Refactor BoxHeader

* Refactor BMFF

* Refactor

* Add some functions to get offset and size of sample

* Add Mp4Reader::read_sample() that read media samples

Co-authored-by: Byungwan Jun <unipro.kr@gmail.com>
2020-07-31 10:12:26 -07:00
Alf
b755db3fa0 Remove Cargo.lock and add to .gitignore. 2020-07-28 22:13:15 -07:00
Ian Jun
4df9fa1bd4
Feature/test write box (#12)
* Add ReadBox trait

* Add boxtype macro

* Remove offset in BoxHeader

* Fix parsing error when box has largesize

* Remove duplicated codes reading version and flags

* Add test code for all leaves in box tree

* Remove entry_count that is duplacated with entries.len()

* Change volume type to Ratio<u16>

Co-authored-by: Byungwan Jun <unipro.kr@gmail.com>
2020-07-28 21:29:04 -07:00
Ian Jun
8f56200dd0
Feature/writebox trait (#11)
* Add ReadBox trait

* Add boxtype macro

* Remove offset in BoxHeader

* Fix parsing error when box has largesize

* Remove duplicated codes reading version and flags

* Simplify all box size types as largesize

* Add WriteBox trait and improve compatibility with large box

* Split large atoms file into smaller ones

* Refator Error

Co-authored-by: Byungwan Jun <unipro.kr@gmail.com>
2020-07-28 09:36:17 -07:00
Alf
95fc64b811 0.4.3 2020-07-26 15:01:15 -07:00
Ian Jun
1e86e4edab
Remove deprecated codes (#9)
* Add ReadBox trait

* Add boxtype macro

* Remove offset in BoxHeader

* Fix parsing error when box has largesize

* Remove duplicated codes reading version and flags

Co-authored-by: Byungwan Jun <unipro.kr@gmail.com>
2020-07-25 20:11:47 -07:00