我正在做一个截屏视频,记录屏幕上发生的情况以及来自外部 USB 麦克风的同步音频评论。我正在使用以下命令:
ffmpeg -f x11grab -r 25 -s 1280x720 -i :0.0+320,236 -thread_queue_size 1024 -f alsa -thread_queue_size 1024 -i hw:1 -vcodec huffyuv screencast.mkv
Run Code Online (Sandbox Code Playgroud)
我认为使用如此高的值thread_queue_size应该让我处于安全站点,以避免buffer xrun我以前遇到的任何错误。然而,情况似乎并非如此。这是录制过程中出现的警告消息:
[x11grab @ 0x55ffe44e6a40] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8)
[alsa @ 0x55ffe44efe80] Thread message queue blocking; consider raising the thread_queue_size option (current value: 1024)
[alsa @ 0x55ffe44efe80] ALSA buffer xrun.B time=00:07:35.96 bitrate=203382.4kbits/s speed=0.994x
[alsa @ 0x55ffe44efe80] ALSA buffer xrun.B time=00:20:18.76 bitrate=210805.7kbits/s speed=0.998x
Run Code Online (Sandbox Code Playgroud)
有两件事我不明白:
x11grab …我目前正致力于使用Selenium与TestNg和Java自动化我的测试.我可以在测试运行时截取屏幕截图,但在某些情况下测试通过时理想情况下它应该失败.
那么,有没有任何java工具可以帮助记录正在运行的Selenium测试?
基本上,我想在我的框架中添加screen-cast.我在web/SO上搜索了很多但是找不到任何相关的资源.欢迎任何帮助或建议.
我在SO上问这个问题,因为这里问了一个类似的问题并迁移到了SuperUser,但它得到的答案更多是关于屏幕共享而不是托管截屏.我希望你们中的一些人在面对(并解决)这个问题之前......
我的团队正在整理一系列技术截屏,我们目前正在自己主持.我们更愿意在外部托管它们,以利用更大的管道,地理位置分散的数据中心以及更好的正常运行时间.
截屏通常不到10分钟.
是否有以程序员为中心的截屏托管解决方案?你会推荐YouTube吗?Vimeo的?别的什么?
我去了三星网站并下载了Media Control SDK包.当我在Galaxy S3 Android 4.3上使用AllShare Cast Video Player时,我的智能电视(在同一网络中)出现在AllShare Cast列表中.
然而,
当我在我的root Galaxy Note 2 Android 4.1.1上使用相同的应用程序时,我的智能电视(在同一网络中)没有显示在AllShare Cast列表中.
码:
public class DevicePicker extends Fragment implements OnClickListener,SmcDeviceFinder.StatusListener, SmcDeviceFinder.DeviceListener {
public interface DevicePickerResult {
void onDeviceSelected(SmcDevice device);
/**
* User clicked to disable AllShare
*/
void onAllShareDisabled();
}
/**
* The type of device we are interested in
*/
private int mType = SmcDevice.TYPE_AVPLAYER;
/**
* Listener to be notified of events
*/
private DevicePickerResult mPickerListener;
/**
* Device finder instance
*/ …Run Code Online (Sandbox Code Playgroud) kazam从终端启动时会显示此回溯错误。
/home$ kazam
/usr/bin/kazam:32: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version('Gtk', '3.0') before import to ensure that the right version gets loaded.
from gi.repository import Gtk
/usr/lib/python3/dist-packages/kazam/backend/webcam.py:24: PyGIWarning: GUdev was imported without specifying a version first. Use gi.require_version('GUdev', '1.0') before import to ensure that the right version gets loaded.
from gi.repository import GObject, GUdev
Traceback (most recent call last):
File "/usr/bin/kazam", line 147, in <module>
from kazam.app import KazamApp
File "/usr/lib/python3/dist-packages/kazam/app.py", line 36, in <module> …Run Code Online (Sandbox Code Playgroud) 在使用以下 ffmpeg 选项进行屏幕录制时,我始终在视频之前获得音频,延迟约为几秒钟
ffmpeg 命令:
ffmpeg -y -f x11grab -thread_queue_size 1024 -draw_mouse 0 -video_size 1920x1080 -i :0 -f pulse -thread_queue_size 1024 -i default -c:v libx264 -threads 0 -preset faster -c:a flac -async 1 -vsync 1 -crf 30 -crf_max 33 -f matroska output.mkv
ffprobe 输出如下:
$ ffprobe demo.mkv
ffprobe version 3.4.4-1~16.04.york0 Copyright (c) 2007-2018 the FFmpeg developers
built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.10) 20160609
configuration: --prefix=/usr --extra-version='1~16.04.york0' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用带有NAudio Example的环回音频流的SharpAPI Example捕获 Windows 屏幕的音频/视频。
我正在使用 C#、wpf 来实现相同的功能。
几个 nuget 包。 SharpAvi - 用于视频捕获 NAudio - 用于音频捕获
我已经成功地将它与提供的示例集成在一起,我正在尝试通过NAudioSharpAPI 视频流捕获音频,以便将视频与音频实现一起录制。
无论我在 SharpAvi 视频中编写音频流。 输出时,仅录制视频,音频为空。
但是当我尝试将音频捕获为名为“output.wav”的单独文件时,它按预期录制了音频,并且能够听到录制的音频。所以,我现在得出的结论是,问题仅在于通过 SharpApi 与视频集成
writterx = new WaveFileWriter("Out.wav", audioSource.WaveFormat);
https://drive.google.com/open?id=1H7Ziy_yrs37hdpYriWRF-nuRmmFbsfe-
NAudio 初始化:
audioSource = new WasapiLoopbackCapture();
audioStream = CreateAudioStream(audioSource.WaveFormat, encodeAudio, audioBitRate);
audioSource.DataAvailable += audioSource_DataAvailable;
Run Code Online (Sandbox Code Playgroud)
捕获音频字节并将其写入 SharpAvi 音频流:
private void audioSource_DataAvailable(object sender, WaveInEventArgs e)
{
var signalled = WaitHandle.WaitAny(new WaitHandle[] { videoFrameWritten, stopThread });
if …Run Code Online (Sandbox Code Playgroud) 我试图实现一个网站的截屏视频,不需要任何软件,但浏览器.真正的网站直播是不必要的.也许这将是一个很好的解决方案,用浏览器,视口分辨率,滚动像素等信息"重建"网站....它只适用于网站的解释之旅,它的功能.
我目前的解决方案:脚本使用html2canvas(http://html2canvas.hertzen.com/)制作网站的"屏幕截图" .然后我将截屏作为base64编码的png数据传输到接收器.他们解码并将其绘制到那里的网站.
但是html2canvas需要大约1秒来生成画布(使用纯文本网站).它需要大约5-10秒才能为带有图像的网站生成它.那很长.
你有其他方法的想法吗?
我需要捕获第二个显示器的屏幕并在主显示器中"监视"它,在窗口内(按x0.5缩放并使用邻居插值,因为我更喜欢性能与质量).从这个链接,我有这个截屏命令:
gst-launch ximagesrc ! ffmpegcolorspace ! queue \
! vp8enc quality=10 speed=2 ! mux. alsasrc ! audio/x-raw-int ! queue \
! audioconvert ! vorbisenc ! mux. webmmux name=mux \
! filesink location=screencast.webm
Run Code Online (Sandbox Code Playgroud)
...但是它捕获到文件(不是窗口),它缺少比例和插值类型,声音不是必需的等等.
由于我熟悉libav,我正在寻找的是类似的东西:
avconv -f x11grab -r 30 -s 1280x1024 -i :0.1 -c:v mpeg4 -b:v 1000k \
-vf "hflip" -vf "scale=640:480" -sws_flags "neighbor" -f avi - | avplay -i -
Run Code Online (Sandbox Code Playgroud)
...我会用它,但它有一些帧速率问题(在这里问).所以,我正在寻找Gstreamer的替代品.
我是开发 UWP 应用程序的新手。我最近开发了用于屏幕录制的桌面应用程序,它可以捕获屏幕、录制音频。为此,我使用了 DirectShowLib、WindowsMediaLib 中的一些过滤器。
现在要在 UWP 中构建相同的应用程序,我没有从哪里开始获得任何线索,也没有在 UWP 中找到对我有帮助的 API。有知道的请帮帮我...