[ffmpeg]如何同时解码多路视频
来源:互联网 发布:mac 磁盘图标 名称 编辑:程序博客网 时间:2024/06/06 16:53
大大们好
我最近在做ffmpeg解码h.264视频相关的东西,目前要实现的是用ffmpeg播放h.264的流,播放一路已经实现了,但我想播放多路时,就会出现FATAL SIGNAL的错误,然后程序挂掉。
VView是JNI接口类,我把它设计成一个单例模式的东东,然后开几个线程调用VView.getDecoder.decoderNal()方法来解码数据,并用这些数据来播放。
不知道我的思路是否正确,请大大们帮忙看下 :)
我最近在做ffmpeg解码h.264视频相关的东西,目前要实现的是用ffmpeg播放h.264的流,播放一路已经实现了,但我想播放多路时,就会出现FATAL SIGNAL的错误,然后程序挂掉。
VView是JNI接口类,我把它设计成一个单例模式的东东,然后开几个线程调用VView.getDecoder.decoderNal()方法来解码数据,并用这些数据来播放。
不知道我的思路是否正确,请大大们帮忙看下 :)
public class VView {
private static final String TAG = "UERY";
private static VView mDecoder;
private int mWidth = 352;
private int mHeight = 288;
private boolean mReady = false;
// JNI methods h264.com.VView
static {
System.loadLibrary("H264Android");
}
public static VView getDecoder() {
if (mDecoder == null) {
mDecoder = new VView();
}
return mDecoder;
}
public void setVideoWidthAndHeight(int width, int height) {
if (width > 0 && height > 0 && width != mWidth && height != mHeight) {
mWidth = width;
mHeight = height;
Log.i(TAG, "Decoder -> set width:" + width + " height:" + height);
}
}
public int getVideoWidth() {
return mWidth;
}
public int getVideoHeight() {
return mHeight;
}
public boolean isReady() {
return mReady;
}
public synchronized int initDecoder() {
int result = 0;
if (!mReady) {
result = InitDecoder(mWidth, mHeight);
mReady = true;
}
return result;
}
public synchronized int decoderNal(byte[] in, int insize, byte[] out) {
return DecoderNal(in, insize, out);
}
public synchronized int uninitDecoder() {
int result = 0;
if (mReady) {
result = UninitDecoder();
mReady = false;
}
return result;
}
/*
* JNI methods
*/
private native int InitDecoder(int width, int height);
private native int UninitDecoder();
private native int DecoderNal(byte[] in, int insize, byte[] out);
}
0 0
- [ffmpeg]如何同时解码多路视频
- [ffmpeg]如何同时解码多路视频
- ffmpeg+SDL能同时播放多路视频么?
- FFmpeg - 视频解码过程
- ffmpeg视频解码分析
- FFmpeg解码音视频
- ffmpeg解码视频
- Qt+ffmpeg解码视频
- Qt + ffmpeg 视频解码
- FFmpeg -- 解码视频
- ffmpeg解码烂视频
- FFMPEG学习----解码视频
- ffmpeg视频解码分析
- FFMPEG 视频解码流程
- FFMPEG+Qt解码视频
- FFMPEG音视频解码
- FFMPEG 之视频解码
- 视频学习笔记:Android ffmpeg解码多路h264视频并显示
- 服务器端解决跨域问题的三种方法
- ADODB.Recordset.Open 不能带括号?
- 第十八周项目实践3.1(3)编程处理c代码
- Android4.1 开机logo的initlogo.rle在哪替换
- 摸着石头过河__投石问路
- [ffmpeg]如何同时解码多路视频
- 大端字节序、 小端字节序
- Unity性能优化工具之Profiler的使用
- android WebView中loadUrl方法显示本地html中的图文
- 关于编码问题的深度解析
- 关于安卓编译环境搭载
- 像掌阅这种保存到手机的图片,是那么保存和读取的?
- 开通csdn博客的第一天
- Android中显示Dialog的方法