标签: video-recording

录制时我们可以暂停相机吗

在我的应用程序中,我具有计时器驱动的视频录制功能。当相机处于录制模式时,如果我单击屏幕上任意位置的按钮,则录制应暂停。我应该能够在再次单击时继续记录。

但在许多android设备中都没有暂停录制视频的动作。

还有其他方法吗?我找到了此链接,但没有给我任何希望。

有谁能够帮助我?

camera android video-recording android-camera

2
推荐指数
1
解决办法
2461
查看次数

Android中的背景视频录制

我想编写一个服务,该服务在服务启动时在后台记录,并在服务停止时停止记录.

我在这里找到了一些关于它的板子,但没有一个可行.

谁能帮我?感谢您的帮助!

谢谢!!

android video-recording

2
推荐指数
1
解决办法
1999
查看次数

Android 使用 MediaRecorder 从 SURFACEVIEW 录制视频

我刚来这地方。

我在 android 中有一个应用程序,可以通过网络流式传输相机,并有一个 SurfaceView 组件来显示预览(我正在流式传输的内容)。

我想记录我在预览(surfaceview)中看到的内容而不重新打开相机,因为它刚刚从流中打开。

在棒棒糖中,我看到您可以使用 MediaRecorder api 进行录制并将视频源设置为 SURFACE。

我如何记录简单地添加一个从表面记录的新 MediaRecorder 对象。假设您已完成所有内容设置,应用程序可以正常工作并进行流式传输,并在 SurfaceView 组件中显示预览。我想定义一个新的记录器,并将源设置为表面视图。

谢谢

编辑:

您好,我尝试使用以下代码进行记录:

mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setOutputFile(getVideoFile(activity, true).getAbsolutePath());
mMediaRecorder.setVideoEncodingBitRate(10000000);
mMediaRecorder.setVideoFrameRate(30);
mMediaRecorder.setVideoSize(mVideoSize.getWidth(), mVideoSize.getHeight());
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
int orientation = ORIENTATIONS.get(rotation);
mMediaRecorder.setOrientationHint(orientation);
mMediaRecorder.prepare();
Run Code Online (Sandbox Code Playgroud)

假设您有一个应用程序可以打开相机并流出网络并在 SurfaceView 中显示预览。我想添加一个新的媒体记录器来记录表面视图中的内容。

android surfaceview video-recording android-mediarecorder

2
推荐指数
1
解决办法
1万
查看次数

“输出流中的非单调 DTS”每 13 小时 14 分钟一次

我对 zeranoe 的最新 ffmpeg 有问题。\n每 13h14m ffmpeg 就会停止录制。

\n\n
ffmpeg started on 2017-09-28 at 10:36:49\nReport written to "ffmpeg-20170928-103649.log"\nCommand line:\n"D:\\\\ffmpeg\\\\ffmpeg.exe" -report\nffmpeg version N-87353-g183fd30 Copyright (c) 2000-2017 the FFmpeg developers\n  built with gcc 7.2.0 (GCC)\n  configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs …
Run Code Online (Sandbox Code Playgroud)

ffmpeg h.264 video-recording

2
推荐指数
1
解决办法
5538
查看次数

FFmpeg 3.3.4 avfoundation 使用命令行仅记录 macOS Sierra 上屏幕的特定部分

我正在通过命令行使用 FFmpeg 3.3.4 版(通过 brew 安装)在我的 macOS Sierra (10.12.6) 上进行一些自动化测试期间记录我的桌面。

我只想记录屏幕的特定部分,但不幸的是,我无法在文档中找到合适的选项来实现我的目标。

根据avfoundationFFmpeg 文档,这是我使用的命令:

ffmpeg 
-f avfoundation    // avfoundation
-pix_fmt uyvy422   // pixel format
-i 1               // input: desktop
-r 30              // framerate for output
[PATH]/test.mp4      // filename
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,我有以下输出:

ffmpeg version 3.3.4 Copyright (c) 2000-2017 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.37)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.4 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-ffplay --enable-frei0r --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-librtmp --enable-libschroedinger …
Run Code Online (Sandbox Code Playgroud)

macos shell ffmpeg video-recording

2
推荐指数
1
解决办法
3631
查看次数

Android Mediarecorder:获取3GP而不是MPEG4

我想只用android4格式录制视频.我希望容器和编解码器是MPEG4.所以这就是我为此所做的.

Thread video = new Thread(new Runnable() {
    public void run() {
        videoRecorder = new MediaRecorder();
        videoRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());
        videoRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
        videoRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        videoRecorder.setVideoEncodingBitRate(56 * 8 * 1024);
        videoRecorder.setVideoSize(176, 144);
        videoRecorder.setVideoFrameRate(12);
        videoRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
        videoRecorder.setOutputFile("/sdcard/video.m4e");
        try {
            videoRecorder.prepare();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        videoRecorder.start();
    }
});
video.start();
Run Code Online (Sandbox Code Playgroud)

现在,录制完成后,我将视频录制到video.m4e文件中.但是当我检查它的信息时,我得到了以下信息:

在此输入图像描述

同时我使用以下内容录制音频:

Thread audio = new Thread(new Runnable() {              
    public void run() {
        audioRecorder = new MediaRecorder();
        audioRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        audioRecorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
        audioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        audioRecorder.setOutputFile("/sdcard/audio.amr");
        try {
            audioRecorder.prepare();
        } catch (IllegalStateException e) { …
Run Code Online (Sandbox Code Playgroud)

java android audio-recording video-recording

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

如何使用C#Desktop Application在MPEG或AVI文件中记录WebCam视频

我正在开发一个桌面应用程序,它要求我连接到网络摄像头并以MPEG,AVI,MP4和WMV格式录制(保存)视频并刻录到CD/DVD中.该应用程序是在Win Forms中.我只是在寻找免费或开源的解决方案或控件.

我已经使用Aforge.Net将AVI保存为AVI,但它需要更多的尺寸来保存(例如15sce 320x240视频的60-100MB).我预计10秒会有1MB.这是代码:

using System;
using System.Drawing;
using System.Windows.Forms;
using AForge.Video;
using AForge.Video.DirectShow;
using AForge.Video.VFW;

namespace Aforge_Web_Cam
{
public partial class VideoForm : Form
{
    private FilterInfoCollection VideoCaptureDevices;
    private VideoCaptureDevice FinalVideo = null;
    private VideoCaptureDeviceForm captureDevice;
    private Bitmap video;
    private AVIWriter AVIwriter = new AVIWriter();
    private SaveFileDialog saveAvi;

    public VideoForm()
    {
        InitializeComponent();
    }

    private void VideoForm_Load(object sender, EventArgs e)
    {
        VideoCaptureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
        captureDevice = new VideoCaptureDeviceForm();
    }

    private void butStart_Click(object sender, EventArgs e)
    {
        if (captureDevice.ShowDialog(this) == …
Run Code Online (Sandbox Code Playgroud)

c# video video-capture video-recording

0
推荐指数
1
解决办法
1万
查看次数

在 Swift 中录制视频时如何添加叠加层?

我正在尝试使用AVFoundation. 这有效。我还尝试向视频添加叠加层,例如包含日期的文本标签。

例如:保存的视频不仅是相机看到的,还有时间戳。

这是我保存视频的方式:

func fileOutput(_ output: AVCaptureFileOutput, didFinishRecordingTo outputFileURL: URL, from connections: [AVCaptureConnection], error: Error?) {
    saveVideo(toURL: movieURL!)
  }

  private func saveVideo(toURL url: URL) {
    PHPhotoLibrary.shared().performChanges({
      PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url)
    }) { (success, error) in
      if(success) {
        print("Video saved to Camera Roll.")
      } else {
        print("Video failed to save.")
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

我有一个movieOuput是一个AVCaptureMovieFileOutput。我的预览图层不包含任何子图层。我尝试将时间戳标签的图层添加到 previewLayer,但这没有成功。

我已经尝试过Ray Wenderlich 的例子以及这个堆栈溢出问题。最后,我也尝试了这个教程,所有这些都无济于事。

如何为相机胶卷中保存的视频中的视频添加叠加层?

xcode avfoundation video-recording avcapturemoviefileoutput swift

0
推荐指数
1
解决办法
2213
查看次数