【问题标题】:Frame from Videostream来自视频流的帧
【发布时间】:2016-08-09 09:09:25
【问题描述】:

我需要从此视频流中获取帧:http://tcp://62.109.15.84:1300

我使用了这种方法,但它不适合视频流。

public static Bitmap getVideoFrame(Context context, Uri uri) {
    MediaMetadataRetriever retriever = new MediaMetadataRetriever();
    try {
        retriever.setDataSource(uri.toString(),new HashMap<String, String>());
        return retriever.getFrameAtTime(50000000,MediaMetadataRetriever.OPTION_NEXT_SYNC);
    } catch (IllegalArgumentException ex) {
        ex.printStackTrace();
    } catch (RuntimeException ex) {
        ex.printStackTrace();
    } finally {
        try {
            retriever.release();
        } catch (RuntimeException ex) {
        }
    }
    return null;
}

【问题讨论】:

    标签: java android stream video-streaming


    【解决方案1】:

    这个库解决了这个问题FFmpegMediadataRetriever

    FFmpegMediaMetadataRetriever mmr = new FFmpegMediaMetadataRetriever();
                            mmr.setDataSource("tcp://62.109.15.84:1300");
                            mmr.extractMetadata(FFmpegMediaMetadataRetriever.METADATA_KEY_ALBUM);
                            mmr.extractMetadata(FFmpegMediaMetadataRetriever.METADATA_KEY_ARTIST);
                            Bitmap b = mmr.getFrameAtTime(2000000, FFmpegMediaMetadataRetriever.OPTION_CLOSEST); // frame at 2 seconds
                            byte [] artwork = mmr.getEmbeddedPicture();
    
                            mmr.release();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多