Chào mọi người, em muốn tạo một ứng dụng Android để nén video bằng cách thay đổi độ phân giải và tốc độ bit của nó. Em không muốn sử dụng FFmpeg (vì em không muốn sử dụng NDK), nên em đã thử dùng API MediaCodec. Em đã làm theo 1 project trên github và nó hoạt động khá tốt.
Tuy nhiên, vấn đề là bất cứ khi nào em cố gắng đặt bitrate thấp hơn 2073600 (ví dụ: 1000000), nó sẽ tự động đặt lại thành 2073600. Có ai có thể giải thích tại sao và cách giải quyết được không ạ?
Sample use :
VideoResampler resampler = new VideoResampler();
resampler.addSamplerClip( new SamplerClip( inputUri ) );
resampler.setOutput( outputUri );
resampler.setOutputResolution( Resolution.RESOLUTION_720P.getWidth(), Resolution.RESOLUTION_720P.getHeight() );
try { resampler.start(); }
catch ( Throwable e ) { e.printStackTrace(); }