OpenCV VideoWriter выдает ошибку: FFMPEG: тег 0x34363258/'X264' не поддерживаетсяC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 OpenCV VideoWriter выдает ошибку: FFMPEG: тег 0x34363258/'X264' не поддерживается

Сообщение Anonymous »

Я использую ноутбук с Windows 11 и пытаюсь понять, как с помощью C# можно записывать видео через веб-камеру. Я загрузил пакет OpenCvSharp, но он не может сохранять файлы в формате mp4. При попытке получить следующую ошибку.
gOpenCV: FFMPEG: tag 0x34363258/'X264' is not supported with codec id 27 and format 'mp4 / MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x31637661/'avc1'

Поэтому я пытался сохранить видео в формате avi, но как бы я ни старался, мне не удалось открыть это видео. Я попробовал медиаплеер VLC и проигрыватели Windows Media по умолчанию, но ни один из них не смог открыть указанный видеофайл. Есть ли у кого-нибудь предложения?
using System;
using System.Threading;
using OpenCvSharp;

namespace VideoCapture
{
public class Program
{
private static bool _isRecording = true;

static void Main(string[] args)
{
Console.WriteLine("Press any key to start recording...");
Console.ReadKey(); /

string outputPath = @"C:\Users\me\Example\RecordedVideo.avi";

Thread recordingThread = new Thread(() => RecordVideo(outputPath));
recordingThread.Start();

Console.WriteLine("Recording... Press any key to stop.");

Console.ReadKey();
_isRecording = false;

recordingThread.Join();

Console.WriteLine($"Recording stopped. Video saved to: {outputPath}");
}

static void RecordVideo(string outputPath)
{
using var capture = new VideoCapture(0);
capture.Set(VideoCaptureProperties.FrameWidth, 640);
capture.Set(VideoCaptureProperties.FrameHeight, 480);
capture.Set(VideoCaptureProperties.Fps, 30);

if (!capture.IsOpened())
{
Console.WriteLine("Failed to open the camera.");
return;
}

using var writer = new VideoWriter(outputPath, FourCC.MJPG, 30, new OpenCvSharp.Size(640, 480));

if (!writer.IsOpened())
{
Console.WriteLine("Failed to open the video writer.");
return;
}

while (_isRecording)
{
using var frame = new Mat();
capture.Read(frame); // Capture a frame

if (frame.Empty())
{
Console.WriteLine("Empty frame encountered. Stopping recording.");
break;
}

writer.Write(frame);
}
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... -supported
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • OpenCV VideoWriter с использованием FFMPEG с «не удалось открыть кодек" libx264 ""
    Anonymous » » в форуме C++
    0 Ответы
    1 Просмотры
    Последнее сообщение Anonymous
  • FFMPEG Compile с поддержкой x264 для Android
    Anonymous » » в форуме Android
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • OpenCV: FFMPEG: тег не поддерживается с идентификатором кодека 12 и форматом «mp4/MP4».
    Гость » » в форуме C++
    0 Ответы
    69 Просмотры
    Последнее сообщение Гость
  • У меня есть проблема с моим аудиокодиком FFMPEG FFMPEG FFMPEG
    Anonymous » » в форуме C++
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • OpenCV2 / Python: FFMPEG: тег не поддерживается с помощью ID 12 и формата MP4 / MP4
    Anonymous » » в форуме Python
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»