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
9822589734
fix is_fragmented method.
2020-09-06 13:00:34 -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
Alf
8def228352
Add support for reading/writing fragmented mp4 (fMP4) boxes.
2020-09-03 21:33:45 -07:00
Alf
3b5a728a30
fix tests and update mp4copy example.
2020-09-01 21:15:56 -07:00
Alf
b4b4dbd49f
add support for hev1 box
2020-09-01 20:41:34 -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
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
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
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
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
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
Ian Jun
85a65ea596
Add ReadBox trait ( #7 )
2020-07-24 19:57:46 -07:00
Nathan Fiedler
e875c7da44
Skip over unknown boxes ( #4 )
...
* Skip over unknown boxes
If the box size is non-zero, skip over it and continue reading. Otherwise if
the box size is zero, exit the loop.
* Add comment clarifying the box skipping
2020-05-27 18:29:41 -07:00
Alf
f04ebb4b61
Add skip fn for skipping remaining bytes in a box.
2020-02-05 20:22:08 -08:00
Alfred Gutierrez
ec53b03673
Cleanup and some minor restructuring. ( #2 )
...
* Cleanup and some minor restructuring.
* Update readme.
2020-02-03 21:52:23 -08:00
Alf
4a8c4f57b4
cleanup.
2020-01-27 21:58:19 -08:00
Alfred Gutierrez
e9936e5f78
Sample boxes and mp4info example updates ( #1 )
...
* more sample boxes
* stts and sample box parsing. Update mp4info example with more details.
2020-01-27 21:32:53 -08:00
Alf
b345450e19
cleanup on lib and add more mp4info example output.
2020-01-21 21:41:51 -08:00
Alf
56e49bea57
mdia/mdhd/hdlr box parsing.
2020-01-19 23:17:03 -08:00
Alf
b50097b784
edts/elst box parsing
2020-01-19 20:34:22 -08:00
Alf
b400b02aee
TKHD box parsing.
2020-01-16 22:43:41 -08:00
Alf
4acb2cd93f
add trak/tkhd box.
2020-01-15 22:53:42 -08:00
Alf
c4123f721a
Add moov box builder and skip remaining bytes.
2020-01-13 21:10:25 -08:00
Alf
efd7ac8981
Change main.rs to lib.rs and create example mp4info project. Update readme and license.
2020-01-12 19:33:26 -08:00
Alf
d4f69d82ee
parse moov and mvhd box.
2020-01-12 01:19:31 -08:00
Alf
06f388f20e
update box parsing logic.
2020-01-12 00:00:30 -08:00
Alf
fc92c60298
Fix top level box parsing logic.
2020-01-11 19:34:29 -08:00
Alf
7c239e72a0
parse ftyp box
2020-01-09 22:26:08 -08:00
Alf
9994a0a6a7
Update main.rs.
2020-01-07 22:51:21 -08:00
Alf
5d11bf9c78
Basic example of parsing mp4 atom boxes in rust.
2020-01-07 21:34:01 -08:00