so I add a function in the jni libvlcjni.c to invoke libvlc_video_take_snapshot and enable-sout in the configure.sh file.After compiling, it seems not working well for the error below:
how can i solve this problem? thank you for you help.01-04 11:13:50.613: ERROR/VLC(1707): [0x22b844]: main input ES_OUT_RESET_PCR called
01-04 11:14:22.673: ERROR/VLC(1707): [0x2ef3dc]: avcodec encoder cannot find encoder PNG Image
*** Your Libav/FFmpeg installation is crippled. ***
*** Please check with your Libav/FFmpeg packager. ***
*** This is NOT a VLC media player issue. ***
01-04 11:14:22.673: ERROR/VLC(1707): [0x2ef3dc]: main encoder Streaming / Transcoding failed
01-04 11:14:22.673: ERROR/VLC(1707): [0x2ef3dc]: main encoder It seems your Libav/FFmpeg (libavcodec) installation lacks the following encoder:
PNG Image.
If you don't know how to fix this, ask for support from your distribution.
This is not an error inside VLC media player.
Do not contact the VideoLAN project about this issue.
01-04 11:14:22.673: ERROR/VLC(1707): [0x2ef3dc]: main encoder no suitable encoder module for fourcc `png '.
VLC probably does not support this image format.
01-04 11:14:22.673: ERROR/VLC(1707): [0x2aa39c]: main video output Failed to convert image for snapshot
Code: Select all
jboolean Java_org_videolan_vlc_LibVLC_takeSnapShot(JNIEnv *env, jobject thiz,jint number, jstring path, jint width,jint height)
{
jboolean isCopy;
libvlc_media_player_t *mp = getMediaPlayer(env, thiz);
/* Get C string */
const char* psz_path = (*env)->GetStringUTFChars(env, path, &isCopy);
if (mp)
if(libvlc_video_take_snapshot(mp, (int)number,psz_path , (int)width,(int)height)==0)
return JNI_TRUE;
return JNI_FALSE;
}