Код: Выделить всё
var rtspsrc = ElementFactory.Make("rtspsrc", "source");
var rtph264depay = ElementFactory.Make("rtph264depay", "depay");
var h264parse = ElementFactory.Make("h264parse", "parser");
var mpegtsmux = ElementFactory.Make("mpegtsmux", "muxer");
var hlssink = ElementFactory.Make("hlssink", "sink");
// Elements Config
rtspsrc["location"] = rtspUrl;
rtspsrc["latency"] = 200;
hlssink["location"] = $"{directoryPath}\\%06d.ts";
hlssink["target-duration"] = 5;
hlssink["playlist-location"] = hlsOutputPath;
// Pipeline Creation
var pipeline = new Pipeline("hls-pipeline");
// Linking
rtspsrc.Link(rtph264depay);
rtph264depay.Link(h264parse);
h264parse.Link(mpegtsmux);
mpegtsmux.Link(hlssink);
// Add to pipe
pipeline.Add(rtspsrc, rtph264depay, h264parse, mpegtsmux, hlssink);
// start pipe
var ret = pipeline.SetState(State.Playing);
if (ret == StateChangeReturn.Failure)
{
Console.WriteLine("Unable to set the pipeline to the playing state.");
return;
}
// Main Loop
GLib.MainLoop mainLoop = new GLib.MainLoop();
mainLoop.Run();
// dispose...
pipeline.SetState(State.Null);
Ошибка: невозможно загрузить DLL 'gstreamer-1.0-0. dll» или одну из его зависимостей: Невозможно найти конкретный модуль. (0x8007007E)
Я использую
- GSTREAMER SHARP из Visual Studio 2022
- GSTREAMER mingw_x86_64 (DEV и MSI)
- ОС Windows 11
Код: Выделить всё
var rtspsrc = ElementFactory.Make("rtspsrc", "source");
.dll находится в папке, созданной при установке Gstreamer. на моей машине я поместил пути в переменные среды, чтобы GSTREAMER мог их использовать.
Я уже настроил пути ПУТИ ОКРУЖАЮЩЕЙ СРЕДЫ GStreamer.
Мне нужен GSTREAMER для создания .ts Файлы и .m3u8. Но это вызывает ошибку DLL.
Подробнее здесь: https://stackoverflow.com/questions/791 ... er-1-0-dll
Мобильная версия