标签: avi

如何在C#中将AVI转换为3gp?

是否可以在C#中将AVI文件转换为3gp?如果是这样我怎么能这样做?任何想法将不胜感激,提前感谢.

c# 3gp avi

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

在调用AviFileExit()之前,为什么有必要在这种情况下核对IAviFile指针?

我发现了一个Stack Overflow帖子,其中有一个示例显示了如何获取AVI文件的持续时间:

获取AVI文件持续时间

我在我的Delphi 6应用程序中为我的目的修改了它并创建了下面的代码.最初我在调用AviFileExit()之前删除了核对IAviFile指针的行.但是当我这样做时,我在调用AviFileExit()时遇到了访问冲突.我恢复了线路,访问违规消失了.

为什么在调用AviFileExit()之前需要核对IAviFile引用?这是内存泄漏吗?我认为正常的接口引用计数在这里可以正常工作,但显然它没有.有没有其他方法来消除错误,如调用AviStreamRelease()等?

这是我的代码:

function getAviDurationSecs(theAviFilename: string): Extended;
var
    aviFileInfo : TAVIFILEINFOW;
    intfAviFile : IAVIFILE;
    framesPerSecond : Extended;
begin
    intfAviFile := nil;

    AVIFileInit;

    try
        // Open the AVI file.
        if AVIFileOpen(intfAviFile, PChar(theAviFilename), OF_READ, nil) <> AVIERR_OK then
            raise Exception.Create('(getAviDurationSecs) Error opening the AVI file: ' + theAviFilename);

        try
            // Get the AVI file information.
            if AVIFileInfoW(intfAviFile, aviFileInfo, sizeof(aviFileInfo))  <> AVIERR_OK then
                raise Exception.Create('(getAviDurationSecs) Unable to get file information record from the AVI file: ' + theAviFilename);

            // …
Run Code Online (Sandbox Code Playgroud)

delphi vfw avi access-violation

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

使用OpenCV打开和读取avi文件 - Ubuntu

我刚刚在R. Laganiere的"OpenCV 2计算机视觉应用程序设计手册"一书中读过这篇文章:

请务必注意,为了打开指定的视频文件,您的计算机必须安装相应的编解码器,否则cv :: VideoCapture将无法理解输入文件.通常情况下,如果您能够在计算机上使用视频播放器打开视频文件(例如Windows Media Player),那么OpenCV也应该能够读取此文件.

不幸的是,事情对我来说并不容易.是的,我可以在我的视频播放器上读取avi文件,但它不适用于我的OpenCV-Qt应用程序.VideoCapture isOpen()方法返回false,尽管路径是正确的,并且所需的每个编解码器似乎都在这里.我尝试了几个文件,因此它与一种特定格式无关.

这里有人有使用OpenCV在Ubuntu中打开avi文件的经验吗?我认为这是一个大问题,在互联网上找不到任何相关的解决方案......

谢谢 !!

[编辑]这是我正在努力的功能; 这里的一些变量是类成员,因此可能看起来不完整.但是,正是这段代码无法正常工作.特别是,我实例化一个新的VideoCapture对象的行.

void MainWindow::on_actionOuvrir_fichier_triggered()
{
    //mettre a -1 streamId
    streamId = -1;
    //get path to the avi file
    QString fileName = QFileDialog::getOpenFileName(this,tr("Ouvrir fichier video"),"/home", tr("Videos (*.avi)"));
    std::string utf8_text = fileName.toUtf8().constData();
    //open .avi
    capture = new VideoCapture(utf8_text);
    //check 
    if(!capture->isOpened())
        cout << "probleme ouverture fichier video" << endl;
    //delay between each frame in ms
    rate = capture->get(CV_CAP_PROP_FPS);
    delay = 1000 / rate;
    //start Qtimer recordId
    recordId = startTimer(delay);
    //capture …
Run Code Online (Sandbox Code Playgroud)

ubuntu opencv avi codec

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

c# AForge.NET - 如何将视频从相机保存到文件

我需要一些帮助将视频从笔记本电脑摄像头保存到文件。现在我使用代码在 pictureBox 上搜索视频设备和以前的视频。我尝试过 AVIFileWrite 但失败了。如何使用VideoFileWriter来实现我的目标?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using AForge.Video;
using AForge.Video.DirectShow;
using AForge.Video.FFMPEG;
using System.IO;
using AForge.Video.VFW;
using System.Drawing.Imaging;

namespace VideoCapture
{
    public partial class Form1 : Form
    {
        private FilterInfoCollection VideoCaptureDevices;
        private VideoCaptureDevice FinalVideo;
        public static Bitmap _latestFrame;
        //private VideoFileWriter writer;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            VideoCaptureDevices = new                  FilterInfoCollection(FilterCategory.VideoInputDevice);
        foreach (FilterInfo VideoCaptureDevice in VideoCaptureDevices)
        {
            comboBox1.Items.Add(VideoCaptureDevice.Name);
        }
        comboBox1.SelectedIndex = …
Run Code Online (Sandbox Code Playgroud)

c# video avi aforge

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

openCV - 以120 fps的速度显示

我正在使用openCV GPU处理120 fps的视频文件.我的问题是:我可以以相同的帧速率显示处理过的图像吗?当我使用imshow显示图像时,fps降低到20~30.我可以更快地显示这些图像(最高120 fps)吗?

谢谢

opencv avi imshow

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

从文件名修改 mp4 视频的创建日期

我有一堆 DV avi 视频,我想将它们剪辑在一起。我设法保存了创建日期,因此视频以其创建日期命名。所以我把它们剪在一起后,我仍然有最初的创作日期。但后来我想把那个日期放回到元数据中,它在被剪切在一起并从 DV avi 转换为 mp4 后被修改。

我正在尝试使用 exiftool,但我是个菜鸟,无法正确使用它。最后一个问题是。是否有可能从文件名中批量更改“创建日期”元数据?

文件名如下所示:YYYY-MM-DD-HH-MM-SS.mp4 我想把它放到创建元标记的日期中。

video metadata date avi datecreated

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

如何保存两个摄像机的数据但不影响它们的图像采集速度?

我正在使用多光谱相机来收集数据.一个是近红外线,另一个是彩色的.不是两个摄像头,而是一个摄像头可以同时获得两种不同的图像.我可以使用一些API函数,如J_Image_OpenStream.核心代码的两部分如下所示.一个用于打开两个流(实际上它们在一个样本中,我必须使用它们,但我的意思并不太清楚)并设置两个avi文件的保存路径并开始采集.

 // Open stream
 retval0 = J_Image_OpenStream(m_hCam[0], 0, reinterpret_cast<J_IMG_CALLBACK_OBJECT>(this), reinterpret_cast<J_IMG_CALLBACK_FUNCTION>(&COpenCVSample1Dlg::StreamCBFunc0), &m_hThread[0], (ViewSize0.cx*ViewSize0.cy*bpp0)/8);
if (retval0 != J_ST_SUCCESS) {
    AfxMessageBox(CString("Could not open stream0!"), MB_OK | MB_ICONEXCLAMATION);
    return;
}
TRACE("Opening stream0 succeeded\n");
retval1 = J_Image_OpenStream(m_hCam[1], 0, reinterpret_cast<J_IMG_CALLBACK_OBJECT>(this), reinterpret_cast<J_IMG_CALLBACK_FUNCTION>(&COpenCVSample1Dlg::StreamCBFunc1), &m_hThread[1], (ViewSize1.cx*ViewSize1.cy*bpp1)/8);
if (retval1 != J_ST_SUCCESS) {
    AfxMessageBox(CString("Could not open stream1!"), MB_OK | MB_ICONEXCLAMATION);
    return;
}
TRACE("Opening stream1 succeeded\n");

const char *filename0 = "C:\\Users\\shenyang\\Desktop\\test0.avi"; 
const char *filename1 = "C:\\Users\\shenyang\\Desktop\\test1.avi";
int fps = 10; //frame per second
int codec = -1;//choose the compression method

writer0 = …
Run Code Online (Sandbox Code Playgroud)

c++ video buffer opencv avi

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

如何阅读.avi文件C++

我对c ++做的很少,所以对我这么做.

我想在.avi视频文件中读取我正在制作的程序.我将文件位置保存为string.有没有关于在c ++中使用.avi文件的好教程,还是有人知道读一个人的内容?它和普通文件一样吗?

谢谢您的帮助.我在网上看,但我发现的每个帖子都是一个悬而未决的问题.

编辑根据要求,这是一个小解释.我有一个先前提出的SO问题更详细,但这是我想要做的:

我正在制作一个可以检测面部的程序(虽然是OpenCV)截至目前,我已经获得了一个视频处理器程序,它将检测一个帧上的每个面部,并将该帧作为图像和CvRec面部返回.我想拍摄这些面孔并测试它们以验证它们都是真正的面孔.

在我拥有所有面孔(经过测试)后,我想拍摄图像并一起测试它们.我测试每个帧上的面的大小和距离变化.如果面部通过这个帧长度为两秒,那么我想裁剪面部并使其成为每帧的主题.

在裁剪每个帧之后,我想为用户保存新的视频文件.

希望这会有所帮助.如果有人需要更好的解释,请告诉我.

c++ opencv file-upload file avi

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

flash会播放.avi还是.mpg4?如果有,怎么样?

如何在Flash中加载和播放.avi或.mpg4?那可能吗 ?

- >这个类可以播放.flv和.mp4 ..但是对于.avi它显示错误"错误#2044:未处理的NetStatusEvent:.level = error,code = NetStream.Play.StreamNotFound"

package src {     
    import flash.display.Sprite;     
    import flash.media.Video;     
    import flash.net.NetConnection;     
    import flash.net.NetStream;      
    import flash.events.Event;
    import flash.events.MouseEvent;

        public class vplayer extends Sprite{                 
            public var vid:Video = new Video(1920,1080);
            private var nc:NetConnection = new NetConnection();
            public var ns:NetStream;
            public var listener:Object = new Object();
            private var _duration:Number = 0; 

            public function vplayer():void{             
                addChild(vid);
                nc.connect(null);
                ns = new NetStream(nc);
                vid.attachNetStream(ns);
                listener.onMetaData = metaDataHandler;
                ns.client = listener;           
                //customClient.onCuePoint = cuePointHandler;
            }
            public function playVideo00(vv:String):void{

                ns.play(vv);
            } …
Run Code Online (Sandbox Code Playgroud)

flash video mpeg avi actionscript-3

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

如何使用FM播放AVI文件?

有人能告诉我如何使用FireMonkey播放AVI文件吗?我应该使用哪个组件?

我在所有组件中搜索但没有找到任何有用的东西.

delphi video avi firemonkey

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