相关疑难解决方法(0)

使用MediaCodec和MediaMuxer录制视频,但码率和帧率不正确

我写了一个演示来使用 MediaCodec 和 MediaMuxer 录制视频。

我用我的demo录制了一段视频,用ffprobe查看视频,结果如下:

  Duration: 00:00:06.86, start: 0.000000, bitrate: 723 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 320x240, 619 kb/s, SAR 1:1 DAR 4:3, 30.02 fps, 30 tbr, 90k tbn, 180k tbc (default)
Metadata:
  creation_time   : 2015-06-05 13:19:24
  handler_name    : VideoHandle
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 96 kb/s (default)
Metadata:
  creation_time   : 2015-06-05 13:19:24
  handler_name    : SoundHandle
Run Code Online (Sandbox Code Playgroud)

它包含视频和音频信息,我发现音频属性与我在源代码中设置的相同,但视频属性不正确。我的视频设置源码如下:

        MediaFormat format = MediaFormat.createVideoFormat(MIME_TYPE, mWidth, mHeight);
    format.setInteger(MediaFormat.KEY_COLOR_FORMAT,
            MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface);
    format.setInteger(MediaFormat.KEY_BIT_RATE, 384000); …
Run Code Online (Sandbox Code Playgroud)

android bitrate mediamuxer android-mediacodec

6
推荐指数
1
解决办法
6047
查看次数

如何使前置摄像头捕获的视频不是反Android?

我使用MediaRecorder录制视频。使用后置摄像头时,它可以正常工作,但是使用前置摄像头时,捕获的视频被翻转/反转。这意味着右侧的项目将出现在左侧。摄像头预览可以正常工作,只是最终捕获的视频翻转了。

这是相机预览的样子

在此处输入图片说明

但是最终的视频看起来像这样(所有项目都出现在左侧,出现在右侧)

在此处输入图片说明

到目前为止我尝试过的是:

我尝试使用“ matrix准备记录器”,但似乎并没有改变。

private boolean prepareRecorder(int cameraId){

    //# Create a new instance of MediaRecorder
    mRecorder = new MediaRecorder();

    setCameraDisplayOrientation(this,cameraId,mCamera);
    int angle = getVideoOrientationAngle(this,cameraId);
    mRecorder.setOrientationHint(angle);

    if(cameraId == Camera.CameraInfo.CAMERA_FACING_FRONT){
        Matrix matrix = new Matrix();
        matrix.preScale(1.0f,-1.0f);
    }

    //all other code to prepare recorder here
  }
Run Code Online (Sandbox Code Playgroud)

我已经在下面阅读了所有此问题,但似乎所有这些SurfaceView都未能解决我的问题。有关信息,我使用的是相机预览,所以这里的问题无济于事。

1)Android前置反光镜反光

2)如何防止android反转来自前置摄像头的图像?

3)防止前置摄像头翻转

所以我的问题是:

1)如何通过前置摄像头捕获视频,而不是反向视频(与摄像头预览完全相同)?

2)如何在SurfaceView不使用相机预览的情况下实现此目的TextureView?(因为我上面提到的所有问题,告诉有关使用TextureView

欢迎所有可能的解决方案..Tq

编辑

我制作了2个简短的视频片段以阐明问题,请下载并查看

1)摄像机预览录像时的录像

2)录制最终产品的视频

video-recording android-camera front-camera

5
推荐指数
1
解决办法
8564
查看次数