针对ffmpeg的JNI问题

时间:2011-08-24 06:40:59

标签: android

Android不允许我将大型视频放在地面上,这是Android - 固件(视频视图)的限制,因此解决此问题需要使用编解码器接口在地面上放置视频。

我正在尝试使用JAVA JNI集成编解码器。

我正在使用ffmpeg库进行视频编解码器接口,但它可以解决一些问题。音频正在运行,但视频未显示在曲面视图上。

C ++视频库没有得到两个值sws_format_name(c-> srcFormat),sws_format_name(c-> dstFormat)所以错误。

出现错误消息:08-23 18:12:29.002:ERROR / FFMpegMediaPlayer(3889):AV_LOG_WARNING:没有从%s到%s发现加速颜色空间转换。

注意:这里没有c-> dstFormat这个值,它不会用于加速视频的switch语句。有关更多信息,请查看附件。

错误阻止辞职:

if(t)         返回t;

av_log(c, AV_LOG_WARNING, "No accelerated colorspace conversion found from %s to %s.\n", sws_format_name(c->srcFormat), sws_format_name(c->dstFormat))

switch (c->dstFormat) {
case PIX_FMT_RGB48BE:
case PIX_FMT_RGB48LE:    return yuv2rgb_c_48;
case PIX_FMT_ARGB:
case PIX_FMT_ABGR:       if (CONFIG_SWSCALE_ALPHA && c->srcFormat == PIX_FMT_YUVA420P) return yuva2argb_c;
case PIX_FMT_RGBA:
case PIX_FMT_BGRA:       return (CONFIG_SWSCALE_ALPHA && c->srcFormat == PIX_FMT_YUVA420P) ? yuva2rgba_c : yuv2rgb_c_32;
case PIX_FMT_RGB24:      return yuv2rgb_c_24_rgb;
case PIX_FMT_BGR24:      return yuv2rgb_c_24_bgr;
case PIX_FMT_RGB565:
case PIX_FMT_BGR565:
case PIX_FMT_RGB555:
case PIX_FMT_BGR555:     return yuv2rgb_c_16;
case PIX_FMT_RGB444:
case PIX_FMT_BGR444:     return yuv2rgb_c_12_ordered_dither;
case PIX_FMT_RGB8:
case PIX_FMT_BGR8:       return yuv2rgb_c_8_ordered_dither;
case PIX_FMT_RGB4:
case PIX_FMT_BGR4:       return yuv2rgb_c_4_ordered_dither;
case PIX_FMT_RGB4_BYTE:
case PIX_FMT_BGR4_BYTE:  return yuv2rgb_c_4b_ordered_dither;
case PIX_FMT_MONOBLACK:  return yuv2rgb_c_1_ordered_dither;
default:
    assert(0);

请帮助我,我将非常感谢你。

请确认我的错误辞职。

0 个答案:

没有答案