help wantedquestion
Repository metrics
- Stars
- (6,985 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
private void initRecoder(String url,int width,int height,int frameRate) {
try {
recorder = FrameRecorder.createDefault(url, width, height);
} catch (FrameRecorder.Exception e) {
e.printStackTrace();
}
recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264); // avcodec.AV_CODEC_ID_H264,编码
recorder.setFormat("flv");//封装格式,如果是推送到rtmp就必须是flv封装格式
recorder.setFrameRate(frameRate);
try {
recorder.start();
AndroidFrameConverter converter = new AndroidFrameConverter();
long startTime = System.currentTimeMillis();
long videoTS;
Frame rotatedFrame;
while (true) {
rotatedFrame = converter.convert(mTextureView.getBitmap());
// rotatedFrame = converter.convert(grabbedImage);
if (startTime == 0) {
startTime = System.currentTimeMillis();
}
videoTS = 1000 * (System.currentTimeMillis() - startTime);
recorder.setTimestamp(videoTS);
Log.i("frame", videoTS + ":" + rotatedFrame.toString());
try {
recorder.record(rotatedFrame);
Thread.sleep(40);
} catch (FrameRecorder.Exception e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} catch (FrameRecorder.Exception ex) {
ex.printStackTrace();
}
}
error:
org.bytedeco.javacv.FrameRecorder$Exception: avcodec_open2() error -542398533: Could not open video codec.