Il existe quatre entrées exactes lors de la recherche google sur la lecture deinterlaced avec IJKPlayer. Le meilleur semble être this. Cependant, la solution mentionnée en ajoutantdésentrelacer la vidéo lors de la lecture avec IJKPlayer
mediaPlayer.setOption(IjkMediaPlayer.OPT_CATEGORY_PLAYER, "vf0", "yadif")
au code ne semble pas fonctionner. Bien sûr, lorsque vous utilisez ffplay (ou ffmpeg), il s'agit de filtres inclus ou non. Donc, existe-t-il une solution de travail disponible, qui désentrelace avec IJKPlayer et indique quels filtres utiliser (pendant le compiletime et l'exécution), idiot-proof?
EDIT:
J'ai trouvé, que le joueur a été compilé avec --disable-avfilter. J'ai vérifié la dernière version de git et l'ai compilé avec --enable-avfilter. Maintenant, le répertoire android/contrib/build/ffmpeg-armv7a/output/lib contient libavfilter.a, aussi. libijkffmpeg.so est plus grand en taille et en cours d'exécution
nm -D --defined-only libijkffmpeg.so
affiche le symbole vf_yadif. Cependant, IJKPlayer ne désinstalle toujours pas lors de l'utilisation avec l'option vf0/yadif.
I ajouté info version pour avfilter aussi:
I/IJKMEDIA: ===== versions =====
I/IJKMEDIA: ijkplayer : k0.8.0
I/IJKMEDIA: FFmpeg : ff3.3--ijk0.8.0--20170518--001
I/IJKMEDIA: libavutil : 55.58.100
I/IJKMEDIA: SDL_RunThread: [32440] ff_msg_loop
I/IJKMEDIA: libavcodec : 57.89.100
I/IJKMEDIA: libavformat : 57.71.100
I/IJKMEDIA: libavfilter : 6.82.100
I/IJKMEDIA: libswscale : 4.6.100
I/IJKMEDIA: libswresample: 2.7.100
Je trouve les fichiers suivants dans les sources IJKPlayer: ./android/contrib/ffmpeg-armv7a/libavfilter/vf_yadif.c ./android/contrib/ffmpeg-armv7a/libavfilter/yadif.h Je me demande, comment yadif peut être activé. –