首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LibVLCSharp:无法查看

LibVLCSharp:无法查看
EN

Stack Overflow用户
提问于 2021-10-07 18:10:52
回答 1查看 416关注 0票数 1

我试图开始捕获网络摄像头,将其转换并输出到RTSP,但当我查看: rtsp://127.0.0.1:53211时,我无法查看该流。

我在我的VLC播放器上看到一个日志,上面写着:

代码语言:javascript
运行
复制
Your input can't be opened:
VLC is unable to open the MRL 'rtsp://127.0.0.1:53211'. Check the log for Your input can't be opened:
VLC is unable to open the MRL 'rtsp://127.0.0.1:53211'. Check the log for details.

我没有看到任何日志在C#方面,我看到我的摄像头亮起来,所以我认为它正在访问网络摄像头。

代码语言:javascript
运行
复制
using System;
using LibVLCSharp.Shared;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Core.Initialize();

            using var libVlc = new LibVLC();
            using var mediaPlayer = new MediaPlayer(libVlc);

            mediaPlayer.EndReached += (_, x) =>
            {
                Environment.Exit(1);
            };

            var media = new Media(libVlc, "v4l2:///dev/video0", FromType.FromLocation);
            media.AddOption(":v4l2-standard=ALL :live-caching=300");
            media.AddOption(":chroma=mp2v --v4l2-width 1280 --v4l2-height 720");
            media.AddOption(":sout=#transcode{vcodec=mp2v,acodec=mpga,fps=30}:rtp{mux=ts,sdp=rtsp://:53211}");
            media.AddOption(":sout-keep");

            mediaPlayer.Play(media);

            Console.ReadKey();
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-08 03:47:54

有两个错误:

  1. 此选项格式错误,并导致

无声错误。

代码语言:javascript
运行
复制
media.AddOption(":v4l2-standard=ALL :live-caching=300");

  1. RTSP格式错误,需要在

结尾处的路径。

代码语言:javascript
运行
复制
media.AddOption(":sout=#transcode{vcodec=mp2v,acodec=mpga,fps=30}:rtp{mux=ts,sdp=rtsp://:53211}");

C#中的解决方案:

代码语言:javascript
运行
复制
var media = new Media(libVlc, "v4l2:///dev/video0", FromType.FromLocation);
media.AddOption(":chroma=mp2v --v4l2-width 1280 --v4l2-height 720");
media.AddOption($"::sout='#transcode{{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}}:rtp{{sdp=rtsp://{GetLocalIPAddress()}:53211/live.sdp}}'");
media.AddOption(":no-sout-all");
media.AddOption(":sout-keep");

命令行:

代码语言:javascript
运行
复制
cvlc v4l2:///dev/video0:chroma=mp2v --v4l2-width 1280 --v4l2-height 720 --sout '#transcode{vcodec=h264,acodec=mpga,ab=128,channels=2,samplerate=44100,scodec=none}:rtp{sdp=rtsp://192.168.0.107:53211/live.sdp,proto=tcp}' :no-sout-all :sout-keep
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69485916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档