如何在C#桌面应用程序中使用声音(WPF或Winform)中的声音录制高清视频?
我正在制作演讲录制应用程序,我需要从高清网络摄像头录制高清视频.最初,我使用Microsoft Expression编码器录制视频.它可以用于低分辨率,但在720p及以上落后. 至于Aforge库,它仅处理视频,但我也需要录制音频. 我尝试过,但是Ozeki Camera SDK,但我无法自定义分辨率和帧速率等.并且使用其他麦克风也不同步音频和视频. 我希望,如果有人可以帮助我解决我的问题,可以使表达编码器可以通过更高的分辨率来正常工作,或者建议使用其他一些SDK或DLL,以提供编码功能以及配置分辨率,帧和比特率的音频和视频. P.S我对编码等不了解 谢谢. 解决方案 我本人用 aforge.net 我知道它不支持音频.因此,我使用了 naudio .您可以使用Nuget Package Manager控制台轻松安装它们. aforge install-package aforge naudio安装包装naudio 这是一些用于音频捕获的代码片
22 2024-04-25
编程技术问答社区
如何使用C#桌面应用程序将网络摄像头视频录制成MPEG或AVI文件
我正在开发一个桌面应用程序,该应用程序需要我连接到网络摄像头并记录(保存)MPEG,AVI,MP4和WMV格式,然后燃烧到CD/DVD中.该应用程序为胜利表格.我只是在寻找免费或开源的解决方案或控件. 我使用aforge.net保存了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;
16 2024-04-23
编程技术问答社区
使用AVFoundation进行视频录制
我正在尝试使用Avoundation录制视频.当我仅在会话中添加视频输入时,一切正常,但是当我向其添加音频输入时,它会停止录制视频.(录制启动后立即调用委托方法).这是我的代码: -(void) recordVideo { self.session = [[AVCaptureSession alloc] init]; if([session canSetSessionPreset:AVCaptureSessionPresetMedium]) session.sessionPreset = AVCaptureSessionPresetMedium; CALayer *viewLayer = [self.cameraView layer]; AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:sess
22 2024-03-21
编程技术问答社区
用增强现实技术录制视频的最佳方式是什么?
用增强现实录制视频的最佳方法是什么? (添加文本,图像徽标到iPhone/iPad摄像头的帧) 以前我试图弄清楚如何吸引CIImage(如何将文本绘制为ciimage?),然后将CIImage转换为CMSampleBuffer( ciimage to cmsamplebuffer ) 我几乎做了所有事情,只有在AVAssetWriterInput 中使用new CMSampleBuffer录制视频的问题 但是,无论如何,这种解决方案都不好,在转换为CIImage CVPixelBuffer(ciContext.render(ciImage!, to: aBuffer)) 时会吃很多CPU 所以我想停下来,找到其他一些方法来录制具有增强现实的视频(例如,在将视频编码为mp4文件时,在帧中动态添加(绘制)文本) 在这里我尝试过的东西不想再使用... // convert original CMSampleBuffer to CIImage, // combi
16 2024-03-19
编程技术问答社区
除非同时存在音频和视频流,否则Kurento WebRTC不进行记录
基本上是subj.我正在为JS使用Kurento-Utils.该主题已经针对低级工作进行了讨论,但是在项目的这一点上,为时已晚进行开关方法:( 当我用音频流式摄像头流式摄像头时,它将很好地记录到.WEBM文件中.但是,我只如何流音频或视频?尝试导致文件为0大小而没有错误消息. 是否有kurento-utils/js的示例代码可以证明该用例? 解决方案 实例化录音机并连接元素时,您需要提供适当的MediaType. pipeline.create('RecorderEndpoint', {uri: filepath,mediaProfile:'WEBM_AUDIO_ONLY'}, function (error, recorder) { webrtcEp.connect(recorder,'AUDIO', function (err) { recorder.recor
4 2024-03-19
编程技术问答社区
安卓媒体记录器。获得3GP而不是MPEG4
我只想使用MPEG4格式录制视频.我希望容器和编解码器为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);
16 2024-03-19
编程技术问答社区
如何在安卓系统中用特定的声音进行视频录制?
我创建了功能来在我的应用中录制视频. 当我播放歌曲时,该歌曲将使用视频录制,并创建视频文件,类似于Dubshmash应用程序. 现在我面临的问题是其他声音(例如by Sounds)也会记录下来.歌曲文件记录在视频录制屏幕中,当视频录制活动启动时,我播放了歌曲. 我如何只使用视频录制歌曲? mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 在音频源中有任何解决方案作为扬声器,因为歌曲的声音在扬声器中传播?如果是另一种可能的方法,请回复我. 解决方案 如果要使用视频,则必须使用FFM
6 2024-03-19
编程技术问答社区
安卓-录制视频时麦克风静音
我正在使用Mediarecorder类录制视频,之后遵循此 类似的教程 http://androidcookbook.com/Recipe.seam;jsessionid= 40151FCD26222877E151C3EEFB406EED?配方= 1375&配方from = ViewToc 我想在录制时,能够静音/取消渗透麦克风. 怎么可能? 我在开始时设置音频源 mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 但是,如果我想在某个时候录制而无需录制呢? 解决方案 尝试以下代码: private void setMicMuted(boolean state){ AudioManager myAudioManager
28 2024-03-19
编程技术问答社区
java.io.IOException: 不能将Mp4TrackImpl{handler='vide'}追加到Mp4TrackImpl{handler='vide'},因为它们的样本描述框不同。
使用ffmpeg合并多个视频时,我有这个例外. java.io.IOException: Cannot append Mp4TrackImpl{handler='vide'} to Mp4TrackImpl{handler='vide'} since their Sample Description Boxes differ: 解决方案 可能是您正在使用的,在mpeg4中转换视频.使用H264格式设置视频编解码器 更改此 recorder.setVideocodec(avcodec.av_codec_id_mpeg4); 到这个 recorder.setVideocodec(avcodec.av_codec_id_h264);
10 2024-03-02
编程技术问答社区
使用媒体记录器的安卓视频记录不工作
我正在尝试录制视频,但是在媒体记录开始并媒体记录准备.请帮助我...这是我的代码... private boolean startRecording() { camera.unlock(); try { mediaRecorder = new MediaRecorder(); mediaRecorder.setOnErrorListener(new MediaRecorder.OnErrorListener() { @Override public void onError(MediaRecorder mr, int what, int extra) { Log.i(TAG, "Error"); } }); second=0; minute=0;
26 2024-02-19
编程技术问答社区
无法将文件复制到目的地
我正在尝试录制模拟器的视频.但是我遇到了这个错误. 无法将文件复制到目标:c:\ users \ ali 最伟大. 以前有人有这个错误吗? 还是您知道如何更改默认目的地? 解决方案 如果您使用的是AVD,请确保"使用主机GPU"为 disabled . 进行您的应用的视频录制: 按照调试模式运行应用程序中所述启动应用程序. 单击Android打开Android DDMS工具窗口. 单击Android DDMS工具窗口左侧的屏幕记录. 单击"开始录制". 与您的应用互动. 单击停止录制. 输入记录的文件名,然后单击"确定". 更好的选择是您使用
32 2024-02-18
编程技术问答社区
用Camera2录制60fps视频(在安卓21版)API
我正在尝试以60(或更多)fps速率录制视频2(android.hardware.camera2)apis. 最后,我使用 camerAceDerained -higheghegheghspapturessession = 120fps用例,而不是60fps. 即使我尝试使用普通捕获会话(Range[] fpsRanges = characteristics.get(CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES); 我不知道如何使用Camera2 API在60fps录制. 任何想法都是最欢迎的. 谢谢. 解决方案 您必须从cameradevice创建ConstrainedHighSpeedCaptureSession,并像您在正常捕获会话中一样实例化新会话. 还需要将下一个值设置为构建器: myPreviewRequestBuilder.set(
18 2024-02-13
编程技术问答社区
在安卓系统上用背景音频捕捉视频
我正在尝试创建一个通过播放背景音乐来录制视频的应用程序.预期的输出将是带有上述音乐的捕获视频. 我不确定这是否是一个垃圾问题,但是,有人请提出一个想法,以捕获Android上的背景音频? 解决方案 我的解决方案很好,请尝试: 服务Android: import java.util.Calendar; import android.app.Service; import android.content.Context; import android.content.Intent; import android.graphics.PixelFormat; import android.hardware.Camera; import android.hardware.Camera.CameraInfo; import android.media.CamcorderProfile; import android.media.MediaRecorder; import
38 2024-02-13
编程技术问答社区
安卓-三星Galaxy S4重新启动问题
我是一个Android开发人员,正在制作使用相机功能的应用程序. 最近,我更新了我的应用程序以支持GS4. 我在GS4上测试了它,它效果很好.前摄像头和后置摄像头. 但是,似乎有些用户的手机在记录我的应用程序视频后重新启动. 我谷歌搜索并找到了这篇文章. http://www.phonesreview.co.uk/2013/05/14/samssung-galaxy-s4-rebooting-rebooting-issues-emerge-emerge-emerge-needs-undate-update-fix/ 似乎有些用户正在遇到这个问题,这似乎与三星的问题无关.通常,当应用程序有问题时,它不是强迫关闭而不是重新启动吗? 如果设备在崩溃后重新启动,是否意味着系统(OS)侧出现问题? 我不知道三星是否解决了这个问题.有人知道吗? 我该怎么办来解决这个问题?让用户等待三星修复它? 解决方案 此问题是OS内存管理级别的OS内存管理的一部分,如果您查看S4的RAM
12 2024-02-13
编程技术问答社区
我们能否在录像时暂停摄像机
在我的应用程序中,我具有计时器驱动的视频录制功能.当相机处于录制模式时,如果我在屏幕上任何地方单击一个按钮时,录音应暂停.我应该能够继续录制再次单击. ,但是在许多Android设备中录制视频没有暂停操作. 还有其他方法吗?我发现此希望. 有人可以帮我吗? 解决方案 您无法做到这一点,因为没有内置功能,您可以做的是,每当您想暂停应用程序,停止应用程序并启动另一部分,然后组合其所有部分... 编辑:如果您使用的是Mediarecorder,则可以使用Android 7.0(Nougat,API 24)或更高的Mediarecorder.pause.pause() + .resume()或更高
24 2024-02-13
编程技术问答社区
摩托罗拉DROID RAZR的相机问题 当我录制视频时
我已经在各种手机上测试了我的应用程序.我的应用程序主要功能是通过手机摄像头拍摄图片和录制视频.我在大多数手机上都没有遇到问题,但是我确实在摩托罗拉Droid Razr .拍照时,我的应用程序正常工作.但是,当我录制视频时,我将面临问题.录制视频时,我会收到一个空白屏幕.移动屏幕上没有显示预览.我不是为什么会发生这种情况,但是在大多数手机上都可以正常工作.并在这款手机上工作正常(droid razr). Motorola Droid Razr配置, 操作系统:Android v2.3.5. 相机:高清相机,8MP. 处理器:ti omap4430 这是我的代码 Camera camera = Camera.open(); Parameters params = camera.getParameters(); camera.setDisplayOrientation(90); camera.setParameters(params);
8 2024-02-13
编程技术问答社区
如何使前置摄像头拍摄的视频不被安卓系统反转?
我使用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(an
20 2024-02-13
编程技术问答社区
尝试使用adb shell screenrecord Android 4.4进行视频录制
我尝试从终端创建视频,但我无法成功.它在这样的终端上给出了错误. adb shell screenrecord /sdcard/screenshotyyyy.mp4 ERROR: unable to create encoder input surface (err=-38) WARNING: failed at 320x480, retrying at 720x1280 ERROR: unable to create encoder input surface (err=-38) 解决方案 ScreenRecord功能在AOSP模拟器中不起作用,因为软件AVC编码器不支持必要的功能.如 screenrecord二进制将从未来的模拟器分布以避免混淆. 我不希望在不久的将来增加支持,因为这需要编解码器中的大量工作.
26 2024-02-12
编程技术问答社区
安卓系统将视频录入一个循环缓冲区并存储在RAM中
我正在寻找一种简单的方法将视频(包括音频)录制到存储在RAM中的圆形缓冲区中. 因此,我可以将视频记录放在最后2分钟的时间里将feed保留在RAM中,然后在需要时选择将其提交为内存. 不幸的是,我看不到一种简单的方法.到目前为止,我已经使用: 进行了调查 Mediarecorder-我看不到一种将输出数据存储在 缓冲.唯一的选项是setOutputfile() javacv ffmpegframerecorder-再次需要 传递文件. android.hardware.camera.previewcallback-这给出了一个字节数组 我可以添加到缓冲区的每个帧.但是,此方法不提供任何音频数据. 我觉得必须有一种简单的方法来做到这一点,但是到目前为止,我还没有太多运气. 对此的任何帮助将不胜感激. 解决方案 有趣的部分位于while循环中:循环的每一个迭代都用cvQueryFrame()从相机中检索一个框架.请注意,此功能返回的数据类型为Ip
8 2024-02-11
编程技术问答社区
在安卓系统中使用MediaRecorder API而不是Intent进行摄像头录制
我正在使用以下代码在使用基本Intent的Android中记录相机.如何将其更改为使用MediaRecorder API而不是基于意图的方法? private Uri fileUri; //... private void recordVideo() { Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO); // set video quality intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file // start the video capture Intent
22 2024-02-10
编程技术问答社区