
Urs FleischandGitHub
2a5fc12b68
Support additional MP4 codecs (#1293, #1338)
Adds MP4::Properties::Codec enum values AC3, EAC3, FLAC, DTS, Opus and a
MP4::Properties::codecId() method.
Parse high-res FLAC bitrate from MP4 dfLa box.
Parse E-AC-3 bitrate from MP4 dec3 box.
The test files were generated using ffmpeg:
ffmpeg -hide_banner -y -f lavfi \
-i "sine=frequency=440:sample_rate=48000:duration=1" \
-c:a flac -ac 2 -flags +bitexact -fflags +bitexact \
-metadata:s:a:0 encoder= -metadata encoder= \
-f mp4 tests/data/flac.m4a
ffmpeg -hide_banner -y -f lavfi \
-i "sine=frequency=440:sample_rate=48000:duration=1" \
-c:a libopus -ac 2 -flags +bitexact -fflags +bitexact \
-metadata:s:a:0 encoder= -metadata encoder= \
-f mp4 tests/data/opus.m4a
ffmpeg -hide_banner -y -f lavfi \
-i "sine=frequency=440:sample_rate=48000:duration=1" \
-c:a ac3 -b:a 128k -ac 2 -strict experimental \
-flags +bitexact -fflags +bitexact \
-metadata:s:a:0 encoder= -metadata encoder= \
-f mp4 tests/data/ac3.m4a
ffmpeg -hide_banner -y -f lavfi \
-i "sine=frequency=440:sample_rate=48000:duration=1" \
-c:a eac3 -b:a 128k -ac 2 -strict experimental \
-flags +bitexact -fflags +bitexact \
-metadata:s:a:0 encoder= -metadata encoder= \
-f mp4 tests/data/eac3.m4a
ffmpeg -hide_banner -y -f lavfi \
-i "sine=frequency=440:sample_rate=96000:duration=1" \
-c:a flac -sample_fmt s32 -ac 2 -flags +bitexact -fflags +bitexact \
-metadata:s:a:0 encoder= -metadata encoder= \
-f mp4 tests/data/flac96.m4a
2026-08-07 14:54:50 +02:00
..
2026-08-07 14:54:50 +02:00
2026-08-07 14:48:50 +02:00
2024-01-21 20:46:27 +01:00
2023-07-22 07:09:58 +02:00
2023-09-16 08:22:36 +02:00
2023-09-16 08:22:36 +02:00
2024-01-21 20:46:27 +01:00
2024-01-21 20:46:27 +01:00
2025-06-25 22:08:09 +02:00
2023-07-22 07:09:58 +02:00
2023-07-22 07:09:58 +02:00
2025-02-02 12:24:26 +01:00
2024-01-21 20:46:27 +01:00
2023-09-26 16:23:03 +02:00
2023-09-16 08:22:36 +02:00
2026-04-04 08:01:41 +02:00
2026-01-24 14:59:10 +01:00
2026-05-17 16:38:07 +02:00
2024-01-21 20:46:27 +01:00
2024-01-21 20:46:27 +01:00
2023-09-16 08:22:36 +02:00
2026-08-01 07:53:53 +02:00
2025-02-02 12:24:26 +01:00
2023-09-16 08:22:36 +02:00
2023-12-07 05:00:00 +01:00
2023-12-02 08:03:14 +01:00
2024-01-21 20:46:27 +01:00
2026-08-07 14:51:22 +02:00
2023-12-07 05:00:00 +01:00
2026-08-07 14:54:50 +02:00
2023-09-16 08:22:36 +02:00
2024-03-25 20:13:55 +01:00
2026-01-25 13:33:54 +01:00
2023-12-18 17:29:39 +01:00
2025-02-02 12:24:26 +01:00
2026-08-05 20:57:29 +02:00
2024-01-21 20:46:27 +01:00
2026-03-31 11:14:44 -05:00
2025-02-02 12:24:26 +01:00
2024-01-21 20:46:27 +01:00
2023-12-07 05:00:00 +01:00
2024-12-30 07:23:11 -06:00
2026-01-24 14:59:10 +01:00
2023-07-22 07:09:58 +02:00
2024-11-02 06:39:21 +01:00
2023-09-16 08:22:36 +02:00
2025-07-04 09:43:34 +02:00
2026-08-07 14:48:50 +02:00
2023-09-16 08:22:36 +02:00
2023-10-14 09:01:59 +02:00
2023-10-06 14:15:30 +02:00
2026-04-04 12:47:49 +02:00
2023-09-16 08:22:36 +02:00
2024-01-21 20:46:27 +01:00
2023-12-07 05:00:00 +01:00
2026-05-07 18:32:19 +02:00