- MpsDemuxer parses MPEG-PS packs (0x1BA) into video (0x1E0-0x1EF) and audio (0x1BD) PES packets with PTS/DTS at the 90kHz clock. - VideoDecoder decodes Annex-B H.264 via JavaCPP FFmpeg 8.1.2, splitting the stream into access units (one slice NAL per packet) so each send yields a frame. - CLI 'decode' command dumps frame metadata (720x480 YUVJ420P). - Validated against Batman Begins: 72 frames decoded.
24 lines
461 B
Kotlin
24 lines
461 B
Kotlin
plugins {
|
|
`java-library`
|
|
}
|
|
|
|
java {
|
|
toolchain {
|
|
languageVersion = JavaLanguageVersion.of(21)
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
api(libs.ffmpeg)
|
|
runtimeOnly("org.bytedeco:ffmpeg:${libs.versions.ffmpeg.get()}:linux-x86_64")
|
|
|
|
testImplementation(platform(libs.junit.bom))
|
|
testImplementation(libs.junit.jupiter)
|
|
testRuntimeOnly(libs.junit.platform.launcher)
|
|
testImplementation(libs.assertj.core)
|
|
}
|
|
|
|
tasks.test {
|
|
useJUnitPlatform()
|
|
}
|