├── .gitignore ├── LICENSE ├── README.md ├── pom.xml └── src ├── main └── java │ └── com │ └── github │ └── manevolent │ └── ffmpeg4j │ ├── AudioFormat.java │ ├── AudioFrame.java │ ├── FFmpeg.java │ ├── FFmpegError.java │ ├── FFmpegException.java │ ├── FFmpegIO.java │ ├── FFmpegInput.java │ ├── FFmpegOutput.java │ ├── FFmpegStreamContext.java │ ├── Logging.java │ ├── MediaFrame.java │ ├── MediaStream.java │ ├── MediaType.java │ ├── VideoFormat.java │ ├── VideoFrame.java │ ├── filter │ ├── MediaFilter.java │ ├── MediaFilterChain.java │ ├── audio │ │ ├── AudioFilter.java │ │ ├── AudioFilterNone.java │ │ └── FFmpegAudioResampleFilter.java │ └── video │ │ ├── FFmpegVideoRescaleFilter.java │ │ ├── VideoFilter.java │ │ ├── VideoFilterChain.java │ │ └── VideoFilterNone.java │ ├── math │ └── Rational.java │ ├── output │ ├── AudioTargetSubstream.java │ ├── FFmpegAudioTargetSubstream.java │ ├── FFmpegEncoderContext.java │ ├── FFmpegVideoTargetSubstream.java │ ├── MediaTargetSubstream.java │ └── VideoTargetSubstream.java │ ├── source │ ├── AudioSourceSubstream.java │ ├── FFmpegAudioSourceSubstream.java │ ├── FFmpegDecoderContext.java │ ├── FFmpegVideoSourceSubstream.java │ ├── MediaSourceSubstream.java │ └── VideoSourceSubstream.java │ ├── stream │ ├── FFmpegFormatContext.java │ ├── Stream.java │ ├── event │ │ ├── EventChannel.java │ │ ├── EventException.java │ │ └── EventListener.java │ ├── output │ │ ├── FFmpegTargetStream.java │ │ └── TargetStream.java │ └── source │ │ ├── FFmpegSourceStream.java │ │ └── SourceStream.java │ └── transcoder │ └── Transcoder.java └── test ├── java ├── FFmpegInputTest.java ├── FFmpegTest.java └── FFmpegTranscodeTest.java └── resources ├── example.ogg └── sample-mp4-file-small.mp4 /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/README.md -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/AudioFormat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/AudioFormat.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/AudioFrame.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/AudioFrame.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/FFmpeg.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/FFmpeg.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/FFmpegError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/FFmpegError.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/FFmpegException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/FFmpegException.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/FFmpegIO.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/FFmpegIO.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/FFmpegInput.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/FFmpegInput.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/FFmpegOutput.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/FFmpegOutput.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/FFmpegStreamContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/FFmpegStreamContext.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/Logging.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/Logging.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/MediaFrame.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/MediaFrame.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/MediaStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/MediaStream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/MediaType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/MediaType.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/VideoFormat.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/VideoFormat.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/VideoFrame.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/VideoFrame.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/filter/MediaFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/filter/MediaFilter.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/filter/MediaFilterChain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/filter/MediaFilterChain.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/filter/audio/AudioFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/filter/audio/AudioFilter.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/filter/audio/AudioFilterNone.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/filter/audio/AudioFilterNone.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/filter/audio/FFmpegAudioResampleFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/filter/audio/FFmpegAudioResampleFilter.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/filter/video/FFmpegVideoRescaleFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/filter/video/FFmpegVideoRescaleFilter.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/filter/video/VideoFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/filter/video/VideoFilter.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/filter/video/VideoFilterChain.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/filter/video/VideoFilterChain.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/filter/video/VideoFilterNone.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/filter/video/VideoFilterNone.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/math/Rational.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/math/Rational.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/output/AudioTargetSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/output/AudioTargetSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/output/FFmpegAudioTargetSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/output/FFmpegAudioTargetSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/output/FFmpegEncoderContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/output/FFmpegEncoderContext.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/output/FFmpegVideoTargetSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/output/FFmpegVideoTargetSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/output/MediaTargetSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/output/MediaTargetSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/output/VideoTargetSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/output/VideoTargetSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/source/AudioSourceSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/source/AudioSourceSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/source/FFmpegAudioSourceSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/source/FFmpegAudioSourceSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/source/FFmpegDecoderContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/source/FFmpegDecoderContext.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/source/FFmpegVideoSourceSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/source/FFmpegVideoSourceSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/source/MediaSourceSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/source/MediaSourceSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/source/VideoSourceSubstream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/source/VideoSourceSubstream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/stream/FFmpegFormatContext.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/stream/FFmpegFormatContext.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/stream/Stream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/stream/Stream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/stream/event/EventChannel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/stream/event/EventChannel.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/stream/event/EventException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/stream/event/EventException.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/stream/event/EventListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/stream/event/EventListener.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/stream/output/FFmpegTargetStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/stream/output/FFmpegTargetStream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/stream/output/TargetStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/stream/output/TargetStream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/stream/source/FFmpegSourceStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/stream/source/FFmpegSourceStream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/stream/source/SourceStream.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/stream/source/SourceStream.java -------------------------------------------------------------------------------- /src/main/java/com/github/manevolent/ffmpeg4j/transcoder/Transcoder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/main/java/com/github/manevolent/ffmpeg4j/transcoder/Transcoder.java -------------------------------------------------------------------------------- /src/test/java/FFmpegInputTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/test/java/FFmpegInputTest.java -------------------------------------------------------------------------------- /src/test/java/FFmpegTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/test/java/FFmpegTest.java -------------------------------------------------------------------------------- /src/test/java/FFmpegTranscodeTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/test/java/FFmpegTranscodeTest.java -------------------------------------------------------------------------------- /src/test/resources/example.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/test/resources/example.ogg -------------------------------------------------------------------------------- /src/test/resources/sample-mp4-file-small.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Manevolent/ffmpeg4j/HEAD/src/test/resources/sample-mp4-file-small.mp4 --------------------------------------------------------------------------------