WebRTC无法录制屏幕
我正在尝试使用WEBRTC制作屏幕共享应用.我有可以从相机获取并共享视频流的代码.我需要对其进行修改以通过MediaFoction API获取视频.基于此这是我的代码: public class MainActivity extends AppCompatActivity { private static final String TAG = "VIDEO_CAPTURE"; private static final int CAPTURE_PERMISSION_REQUEST_CODE = 1; private static final String VIDEO_TRACK_ID = "video_stream"; PeerConnectionFactory peerConnectionFactory; SurfaceViewRenderer localVideoView; ProxyVideoSink localSink;
0 2023-12-01
编程技术问答社区
如何检索需要使用PhantomJS或其他工具单击鼠标才能加载的ajax数据
我正在使用phantomjs检索此页面:目标页面链接.我需要的内容在"行政"和"就业就业"选项卡下.由于此页面是用中文编写的,因此,如果您找不到选项卡,则可以使用浏览器的"查找"函数来查找"行政行政"和"就业就业征才"选项卡.因为"行政行政"选项卡下的内容被加载为默认选项,所以我可以轻松地使用下面的脚本来检索页面: var page = require('webpage').create(); var url = 'http://sa.ttu.edu.tw/bin/home.php'; page.open(url, function (status) { var js = page.evaluate(function () { return document; }); console.log(js.all[0].outerHTML); phantom.exit(); }); ,但是在使用phamtomjs仿真鼠标单击以下代码之后,"就业
0 2023-11-30
编程技术问答社区
使用终端的VLC屏幕捕捉
我正在尝试将我的屏幕捕获为视频,并发现VLC可能是最好的解决方案.我要做的就是使用终端捕获特定的应用程序,然后也停止捕获.现在,我可以使用以下命令使用终端捕获: /Applications/VLC.app/Contents/MacOS/VLC -I dummy screen:// --screen-fps=25 --quiet --sout "#transcode{vcodec=h264,vb072}:standard{access=file,mux=mp4,dst="Desktop/vlc-output-terminal.mp4"}" 太好了,它有效.问题是,如何使用终端退出录音?现在,我必须在终端上进行控制+ c 才能退出.我在网上看过vlc://quit,但我不确定如何使用该命令. 另外,有人知道是否可以使用VLC捕获特定的应用程序,还是整个屏幕是唯一的选项? 解决方案 如何 记录时退出 ctrl + c 杀死过程(在这种情况下为vlc),带有信号SI
0 2023-11-25
编程技术问答社区
C语言的GLUT屏幕截图
我正在尝试在Glut中进行屏幕截图,并且有一些问题. GlreadPixels()似乎用 崩溃了我的程序 Access violoation writing location 0x00000000 很奇怪的是文件是在项目根部创建的,显然是空的.我快速设置了一些printf命令,看来代码每次在glreadpixels()方法中崩溃. 我觉得这个问题可能是变量"像素".我在找出正确的定义方法时遇到了麻烦,以便将RGB值写入其中. 任何提示都将不胜感激. void savePPM(char ppmFileName[]){ int width = glutGet(GLUT_WINDOW_WIDTH); int height = glutGet(GLUT_WINDOW_HEIGHT); char *pixels = NULL; glReadPixels(0,0, width, height, GL_RGB, GL_UNSIGNED_BYT
0 2023-11-23
编程技术问答社区
Expression Encoder 3 SDK屏幕捕捉C#样本?
我正在使用VSTS 2008 + .NET 3.5 + C# + Microsoft Expression 3 SDK.我想捕获屏幕并输出WMV文件.我努力了,但找不到Google的C#样本.有参考样本吗? 解决方案 错误的工具,表达式编码器是转码器.它需要视频格式作为输入并将其编码为其他输出格式. 您需要先创建屏幕的视频.捕获屏幕截图非常容易,graphics.copyfromscreen()可以做到这一点.生成视频将需要反复执行此操作,并写入像Avi这样的简单格式. 做得足够快,因此您每秒捕获足够的帧是终极挑战.如果这很容易,那么出售Jingo和Camtasia的公司将很快倒闭. 其他解决方案 这里有一个较晚的答案,但是您可以使用Expression Engoder 4的免费版本来执行此操作(有10分钟的时间限制 - 要多于购买Pro版本). SDK -SDK \ samples \ ScreenCapture中有一个样本. 请参阅
在微软混合系统上强制使用集成(英特尔)图形卡
我使用Microsoft Desktop重复API,如果我的代码在集成(Intel)图形卡上运行,则一切正常.但是,如果我在专用卡上运行,我会遇到错误. 我发现 Microsoft在Microsoft Hybrid System上的专用卡上不支持此用法 DXGI_ERROR_UNSUPPORTED 没有解决方案的类似问题: directx11台式台式台式重复 桌面重复API和可切换图形 解决方法是在集成卡上启动程序. 我想从代码中解决这个问题. 我发现extern "C" { // Hint to Hybrid laptop drivers that our app would really rather use the NVidia/AMD GPU that you've got sitting over there rather than Intel Graphics... _declspec(dllexport) DWORD NvOptimusEna
0 2023-11-20
编程技术问答社区
如何加快BitBlt用Aero捕捉屏幕的速度?
我使用以下代码使用GDI函数捕获屏幕: // Prologue: int iScreenWidth = GetSystemMetrics(SM_CXSCREEN); int iScreenHeight = GetSystemMetrics(SM_CYSCREEN); HDC hScreenDC = GetDC(0); HDC hCaptureDC = CreateCompatibleDC(hScreenDC); HBITMAP hCaptureBitmap = CreateCompatibleBitmap(hScreenDC, iScreenWidth, iScreenHeight); HBITMAP hOldBitmap = (HBITMAP)SelectObject(hCaptureDC, hCaptureBitmap); // Capture: BitBlt(hCaptureDC, 0, 0, iScreenWidth, iScreenHeight, hScreenD
0 2023-11-20
编程技术问答社区
如何在kitkat 4.4上录制我正在进行的屏幕视频
我想知道如何使用Kitkat 4.4在Android中录制我正在进行的屏幕的视频.通过在Google上进行大量搜索,所以我什么也没得到. 我已经看到了许多链接,通过使用USB连接设备,然后在命令窗口中编写一些命令,但我想仅使用设备录制视频,就像用户的按记录按钮开始录制和当按下停止按钮时,它将停止录制. 我在Google Play上看到了一些相同的应用程序,例如 https://play.google.com/store/应用/详细信息?id = com.slimdroid.screenrecoder https://play.google.com/store.com/store/store/store/apps/details/details/details ?id = app.akexorcist.screenrecorder 基本上我只需要一些指导,我该如何实现这一目标,如果有人有任何代码示例,那将是一个很好的帮助. 预先感谢您. 解决方案 您
2 2023-11-18
编程技术问答社区
如何在iOS 5中禁止某些部分显示为TVOut?
正如我们在iOS 5中所知道的那样,我们不需要添加单独的TVOUT功能代码行.他们将该功能整合为内置功能. 我的问题是什么:如果在我的应用程序中有一些我的自定义视图,我不想将其作为电视节目演示.它应该仅在设备上显示,而不应在投影板上显示. 我已经检查了我们用于iOS版本 最欢迎任何建议/解决方案. 查看此视频: http://www.youtube.com/watch?gl = us&v = gysmfb4_79a 如何实现这种目标? 编辑: 我使用了Apple给出的外部播放代码.但是我面临一个问题. 该代码适用于单视图控制器,我们将所有视图添加到新窗口中. 如果我的应用程序包含如此多的视图控制器,并且在某些视图控制器中,我为用户提供了文本视图. 如何避免在外部窗口上显示这些文本视图作为TVOUT,应该在没有该文本视图的情况下显示视图. 请建议我. 解决方案 From the externaldisplay iOS开发人员库中的示例代码
0 2023-11-18
编程技术问答社区
为应用程序预览捕获iOS模拟器视频
好吧,因此我们现在可以在应用商店中提交应用程序的视频预览.根据Apple的说法,我们应该使用ios8设备和 OSX 10.10. 问题,问题是您必须拥有所有不同的设备(4",4.7",5.5"和iPad). 有其他选择吗? 我正在考虑捕获模拟器的视频.问题是设备屏幕比我的 FullHD 监视器大于100%分辨率.任何可以完全分辨率从模拟器中捕获视频的解决方案? 编辑: 由于很多人都在回答我不是问我的问题: - 记录一个设备尺寸并缩放它不是我要问的; - 如何录制任何应用程序预览不是我要问的; - 您的预览方式不是我要问的; 我是什么我是问是,如果它不适合屏幕,可以从模拟器中录制模拟器中的视频? 解决方案 使用Xcode 12.5的新版本您可以使用⌘ + r 记录模拟器屏幕.有关详细信息,您可以访问在这里./p> 其他解决方案 Xcode 8.2或更高版本 您可以使用xcrun simctl(控制模拟器 的命令行实用程序)进行模拟器的视频和屏幕截
0 2023-11-18
编程技术问答社区
媒体基金会h264编码器性能差
媒体基金会H264编码器性能差 我正在编写一个应用程序,该应用程序是实时记录PC的屏幕,并使用Media Foundation H264编解码器进行编码. 编码会消耗大量CPU资源.然后,在我停止录制视频(或者只是停止使用视频和音频帧喂食编码器)之后,CPU负载很长一段时间(5-10秒以及更多).在此期间,应用程序要等到ImfSinkWriter ::最终方法完成. 我的PC配置: 英特尔i5-2410m 2.3 GHz,带4个核心 8 GB RAM 编解码器配置: 25 fps 1364 x 768分辨率 基线配置文件 1.2 Mbit Bitrate 这是MF H264编解码器性能的限制,还是由于我的代码中的错误/错误调查? 解决方案 预期的管道的行为是内部队列长的管道,以继续编码视频,直到队列为空为止.由于 - 似乎是 - 正在使用软件编码器并且非常慢,因此您的屏幕捕获源会生成足够的数据以填充队列如此紧密,以至于需要额外的几秒钟才
4 2023-11-18
编程技术问答社区
MATLAB getframe 捕获屏幕上的任何东西
我正在尝试从我的Matlab情节创建电影.当我调用GetFrame时,它通常会捕获绘图图像,但是有时,如果屏幕上还有其他活动(如果我继续使用计算机是正常的),它将捕获任何活动窗口.有其他方法可以抓住活动图的图像吗? ,例如 fig = figure; aviobj = avifile('sample.avi','compression','None'); for i=1:t clf(fig); plot(...); % some arbitrary plotting hold on; plot(...); % some other arbitrary plotting axis([0 50 0 50]); aviobj = addframe(aviobj, getframe(fig)); end aviobj = close(aviobj); 解决方案 好,找到了解决方案;而不是 aviobj = addframe(
2 2023-11-18
编程技术问答社区
使用directshow录制桌面上的翻转光标图标
使用DirectShow.net我已经开发了一个应用程序,该应用程序将记录桌面屏幕,以获取鼠标指针,我们需要自己绘制鼠标指针.因此,我在BufferCB中添加了SampleGrabber adn,我已经写了以下代码: public const Int32 CURSOR_SHOWING = 0x00000001; [StructLayout(LayoutKind.Sequential)] public struct ICONINFO { public bool fIcon; public Int32 xHotspot; public Int32 yHotspot; public IntPtr hbmMask; public IntPtr hbmColor; } [StructLayout(LayoutKind.Sequential)] publi
0 2023-11-18
编程技术问答社区
爪哇: 捕捉屏幕上的视频
我们正在考虑在Java中编写一个软件,该软件记录了在运行时某些时间内监视的内容.您对如何有效捕获监视器输出有任何建议吗? CPU所需的次数越少,我们可以捕获屏幕,而不会干扰正在运行的其他应用程序可以生成的视频. 如果不难复制屏幕截图部分,Java中的现有开源程序将起作用.我希望它不需要打电话给另一种编程语言.我们将看到. 解决方案 我不确定您是否需要一个框架. 查看java.awt.Robot类的文档,特别是createScreenCapture方法. http://java.sun.com/javase/6/docs/api/java/awt/robot.html 其他解决方案 最好的Java框架之一是 Monte Media Library ,但首先要看一下到 this 这个想法. 让我知道它是否有效:) 其他解决方案 使用OpenCV,您可以捕获框架并将它们放入视频中(我为学校的运动跟踪高级设计项目而做到了),OpenCV有大量
2 2023-11-18
编程技术问答社区
无头的chrome捕捉屏幕视频或动画
我尝试从网站捕获一些动画,并使用FFMPEG将它们拼接在一起. 据我了解,文档 startScreencast 去. 如果我理解正确的话,我可以使用 启动屏幕截图 await Page.startScreencast({format: 'png', everyNthFrame: 1}); 并听 传入的框架 Page.screencastFrame(image =>{ const {data, metadata} = image; console.log(metadata); }); ,但它永远不会打印出来.所以我认为它不是被称为. 我用这样的事情存档了我的目标: let counter = 0; while(counter
0 2023-11-18
编程技术问答社区
在内存中渲染MATLAB图形
是否有使用getframe和saveas将图形的内容保存到栅格图像以进行进一步处理的替代方法? 方法1:getframe h = figure('visible', 'off'); a = axes('parent', h); % render using `scatter3()` or other plot function. content = frame2im(getframe(h)); 这是一个严重的缺点,即显示数字在调用getframe()中执行屏幕截图的数字,并且在循环中执行此类渲染时是有问题的(即在每次迭代中保存content作为视频框架) . 方法2:saveas h = figure('visible', 'off'); a = axes('parent', h); % render using `scatter3()` or other plot function. saveas(h, '/path/to/file.png'); c
0 2023-11-18
编程技术问答社区
VB.NET屏幕捕获
大家好,我正在使用以下代码来捕获我的窗口表格的黑色面板的屏幕截图. 我的问题是我希望红色边框图像介于两者之间并完整. 我的代码: Dim bounds As Rectangle Dim screenshot As System.Drawing.Bitmap Dim graph As Graphics bounds = Screen.PrimaryScreen.Bounds screenshot = New System.Drawing.Bitmap(bounds.Width, bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb) graph = Graphics.FromImage(screenshot) graph.CopyFromScreen(618, 191, 850, 455, bounds.Size, C
2 2023-11-14
编程技术问答社区
如果应用程序不在0,0处,捕获另一个应用程序的屏幕截图时,图像大小会改变
我有一个应用程序,可以正确捕获应用程序窗口的图像,如果它位于主屏幕的左上角. 但是,如果不是,则图像大小是不正确的(如果窗口图像高度在右边的边距上并从屏幕顶部向下伸展. 0,0 的应用 Imports System.Data.SqlClient Imports System.Runtime.InteropServices Imports Microsoft.VisualBasic.Strings Imports System Imports System.Data Imports System.Data.OleDb Public Class Form1 Public Declare Function GetWindowRect Lib "user32" (ByVal HWND As Integer, ByRef lpRect As Rectangle) As Integer Private Sub Form1_Load(sender As Object, e As EventA
2 2023-11-14
编程技术问答社区
如何在Swift中保存一个视图及其子视图的截图?
我想捕获带有其子视图的视图.我正在使用此代码捕获屏幕: let view = self.faceTrackerContainerView UIGraphicsBeginImageContext(CGSizeMake(view.bounds.size.width, view.bounds.size.height)) UIGraphicsGetCurrentContext()! self.view?.drawViewHierarchyInRect(view.frame, afterScreenUpdates: true) let screenshot = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil) 这些代码捕获了整个屏幕,包括视图前面的按钮.我尝试了这些代码,但它仅
0 2023-11-05
编程技术问答社区
重新加载后在页面上使用 getDisplayMedia 继续录制
我正在用navigator.mediaDevices.getDisplayMedia录制我的屏幕.但是当我重新加载页面时,它就会停止.我想自动继续录制.有可能吗? 也许我可以以某种方式使用LocalStorage,重新加载页面将尝试再次录制,但是随后选择要录制的屏幕的提示再次出现,但是我想选择相同的屏幕以自动记录,使用户在每页重新加载后都不会打扰. 有什么办法,也许服务人员可以成为方式?谢谢. 解决方案 媒体流与其领域的负责的文档 .当本文档的许可策略文档死亡(卸载),Mediastream的捕获曲目将结束. 您案件的唯一方法是从其他文档(弹出/选项卡)开始录制,您的用户必须一直保持打开时间. 在这里证明了这一点,但可以证明这一点用户可以处理... 非常复杂 在页面上记录: const button = document.querySelector( "button" ); const video = document.querySelector
4 2023-10-25
编程技术问答社区