gstreamer java GstVideo.video_convert_sample и GLib.file_set_contents - PullRequest
0 голосов
/ 01 августа 2020

Следующие python операторы берут видеокадр из приемника Gstreamer, конвертируют его в png и сохраняют в файле. Работает без ошибок. Моя проблема состоит в том, чтобы перевести эти операторы в java (см. Ниже).

Код python:

sample = videoSink.get_property( "last-sample" )
if not sample: return

capsTo = Gst.caps_from_string( "image/png" )
sample = GstVideo.video_convert_sample( sample, capsTo, Gst.CLOCK_TIME_NONE )

buffer = sample.get_buffer()
if not buffer: return

res, mapInfo = buffer.map( Gst.MapFlags.READ )

GLib.file_set_contents( "test.png", mapInfo.data )

, а мой текущий java с ошибками:

Sample sample = (Sample) photoSink.get( "last-sample" );
if( sample == null ) return;

Caps capsTo = Caps.fromString( "image/png" );
Sample sample2 = GstVideo.video_convert_sample( sample, capsTo, null );

Buffer buffer = sample.getBuffer();
if( buffer == null ) return;

ByteBuffer mapInfo = buffer.map( false );

GLib.file_set_contents( null, mapInfo );

, который содержит две ошибки из-за отсутствия функций: GstVideo.video_convert_sample и GLib.file_set_contents.

Кто-нибудь знает, как использовать эти или эквивалентные методы в Java?

...