- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
前奏:
我将以此作为开头,我在工作的业余时间一直在学习 C#,并且我已经盯着代码整整两天试图解决这个问题。我正在开发一些与通过 USB 连接到标准台式 PC 的可视化器一起使用的软件,该软件检测捕获设备并使用新帧事件将帧加载到位图中,然后在“图片框”中显示为实时视频流。存在的问题是试图结合记录流和保存到文件的能力,最好是 WMV 或压缩的 AVI。
已尝试:
我已经考虑并研究了以下内容:
SharpAVI - 似乎无法正确压缩或保存帧,因为它似乎主要查看现有的 AVI 文件。
AForge.Video.VFW - 可以创建 AVI 文件,但由于对将使用该软件的个人的用户区域的限制,它太大而无法使用。
AForge.Video.FFMPEG - 再次考虑到使用此软件的用户,我不能将非托管 DLL 与可执行文件放在输出文件夹中,不幸的是,无法使用 Costura Fody 正确编译此特定 DLL。
AVIFile 库包装器(来自代码项目) - 再次似乎无法从新帧事件的位图中正确压缩流。
DirectShow - 似乎使用 C++,不幸的是目前超出了我的技能水平。
相关代码片段:
当前引用:
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Resources;
using System.Drawing.Imaging;
using System.IO;
//Aforge Video DLL's
using AForge.Video;
using AForge.Video.VFW;
using AForge.Video.DirectShow;
//Aforge Image DLL's
using AForge.Imaging;
using AForge.Imaging.Formats;
using AForge.Imaging.Filters;
//AviLibrary
using AviFile;
#region Global Variables
private FilterInfoCollection CaptureDevice; // list of available devices
private VideoCaptureDevice videoSource;
public System.Drawing.Image CapturedImage;
bool toggleMic = false;
bool toggleRec = false;
//aforge
AVIWriter aviWriter;
Bitmap image;
#endregion
#region Displays the Stream
void videoSource_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
picBoxStream.SizeMode = PictureBoxSizeMode.Zoom;
picBoxStream.Image = (Bitmap)eventArgs.Frame.Clone();// clones the bitmap
if (toggleRec == true)
{
image = (Bitmap)eventArgs.Frame.Clone();
aviWriter.AddFrame(image);
}
}
#endregion
#region Record Button
private void btnRecord_Click(object sender, EventArgs e)
{
if (toggleRec == false)
{
saveAVI = new SaveFileDialog();
saveAVI.Filter = "AVI Files (*.avi)|*.avi";
if (saveAVI.ShowDialog() == DialogResult.OK)
{
aviWriter = new AVIWriter();
aviWriter.Open(saveAVI.FileName, 1280, 720);
toggleRec = true;
Label lblRec = new Label();
}
}
else if (toggleRec == true)
{
aviWriter.Close();
toggleRec = false;
}
}
#endregion
最佳答案
和我刚刚解决的问题一样:)这是我的代码,如何使用 AviFile 库 dll 制作 avi 文件:)
private void MakeAvi(List<Bitmap> maps)
{
AviManager mana = new AviManager("local.avi", false);
//false means do not show the diag of the Compression
//21 means the fps of the video
//maplist[0] cover of the video the maplist is the val you should insert
VideoStream avistream = mana.AddVideoStream(false, 21, maplist[0]);
for (int i = 1; i < maps.Count; i++)
{
avistream.AddFrame(maplist[i]);
}
mana.Close();
MessageBox.Show("AddOk");
}
关于C# 位图到 AVI/WMV 的压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29826316/
我需要在我正在构建的 Django 网络应用程序中只接受 MP4 视频和 WMV 视频。为此,我会在文件到达服务器后检查文件的 MIME 类型。 据我所知,MP4 文件具有“video/mp4”mim
我目前正在进行的一个项目需要能够将视频从其他格式转换为 WMV 格式。我们需要能够将几乎任何常用的视频格式转换为 WMV 格式。我正在寻找一种解决方案,例如 On2 的 flix 引擎将其他视频类型转
我的网页 View 中嵌入了一个 Windows 媒体播放器:
任何使用 ffmpeg 的人 我有一个相当简单的 wmv,由电影制作者的用户导出,具有标准输出,并希望使用转换为 .flv C:>ffmpeg -i "E:\Jab Core 4 Recounters
我在 SharePoint 中托管了一个 wmv 视频。我创建了一个包含一些自定义内容的内容编辑器 Web 部件,并放置了一个指向视频 的简单链接。点击查看 . 这里真的没有什么特别的。一些用户可以
我想获取一个视频文件并使用 java“加密”它。目前加密只是翻转位。我希望视频仍然能够播放,因此 header 需要完好无损。我发现很难找到标题有多大。我尝试使用 .avi 文件并使用此链接 AVI
我想显示我网站上列出的视频的缩略图,我想从视频(从特定时间)获取单个帧并将它们显示为缩略图。 这可能使用 .Net 吗? (C# 或 VB) 最佳答案 是的,这是可能的。您需要使用 DirectSho
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
This example on Code Project几乎正是我所需要的...除了 saveFrameFromVideo 采用百分比而不是帧数... 我如何使用它从 WMV 文件中提取 X 帧? 我
有谁知道是否可以使用 C# 从位置 X 上的视频 (.wmv) 抓取帧/图像,而无需安装 DirectX 并在 Windows 2008 上工作(我希望尽可能少安装网络服务器)。 或者甚至是使用 di
我以非常标准的方式使用 MPMoviePlayerController。 MPMoviePlayerController *player = [self.movieController moviePl
我似乎无法让 FFMpeg 使用该库。每次我尝试将 asf 文件转换为 wmv。我在运行时遇到以下问题: [wmv1 @ 0x81ee000]error, slice code was 2 [wmv1
前奏: 我将以此作为开头,我在工作的业余时间一直在学习 C#,并且我已经盯着代码整整两天试图解决这个问题。我正在开发一些与通过 USB 连接到标准台式 PC 的可视化器一起使用的软件,该软件检测捕获设
我正在尝试为客户制作我的桌面应用程序的动画。 我想用一个循环为背景制作动画,并在此之上提供特定于区域的动画(允许透明胶片看到下面的分层动画)。 这对 WMV 来说可能吗?如果不能,是否可以使用其他视频
有没有一种方法可以在视频的特定点(例如 5 秒或第 25 帧)从视频文件(mpg、wmv、flv 等)中捕获单个帧?然后保存为图片? [编辑]YouTube 做的一些链接。不能全部手动完成吗? ;)
请指导我如何解决这个问题。下面是我尝试将 wmv 格式文件转换为 .flv 时得到的结果。 ffmpeg -i full.wmv -ar 48000 -ab 192000 -b 293000 -r 1
这就是我使用的命令 ffmpeg -i full.wmv -sameq -ab 128 -s 640x480 full.flv FFmpeg version SVN-r13582, Copyrig
我已经为此工作了很长时间,但仍然没有找到有效的解决方案。我需要一个方法 直播转换 (转码)用于在 html5 网络播放器中播放的 .wmv 文件。 我有一个 linux 服务器 (Apache) 设置
我正在将大量 WMV 文件转换为 MP4。 命令是: ffmpeg -loglevel 0 -y -i source.wmv destination.mp4 我大约有 100GB 需要转换。 24 小
对于 Azure 媒体服务编码任务,状态多次显示“正在处理...”,然后进入错误状态。没有显示错误消息。我正在关注这个https://www.windowsazure.com/en-us/develo
我是一名优秀的程序员,十分优秀!