从Libvlcsharpdvb-t获取程序信息

问题描述

我要求将dvb-t提要进入系统,然后能够在点网核心环境中以rtsp流的形式通过本地网络推送频道。

LibVLCSharp看起来很合适,但是我为确定每个通道的PID值而陷入困境,因此我可以有选择地分配各个通道。

我发现,如果我播放媒体元素,我可以从LibVLC日志中获取包含PID和通道名称的EPG信息,但是这样做似乎有点麻烦。

我知道在VLC UI中您可以从 Playback-> Programs 中选择单个频道,所以我觉得我缺少一些东西。

我是通过解析日志来获取该信息的唯一方法还是我错过了什么?

解决方法

TS muxer (libdvbpsi) (mux_ts)
      --sout-ts-standard={dvb,atsc} 
                                 Digital TV Standard
      --sout-ts-pid-video=<integer [32 .. 8190]> 
                                 Video PID
          Assign a fixed PID to the video stream. The PCR PID will
          automatically be the video.
      --sout-ts-pid-audio=<integer [32 .. 8190]> 
                                 Audio PID
          Assign a fixed PID to the audio stream.
      --sout-ts-pid-spu=<integer [32 .. 8190]> 
                                 SPU PID
          Assign a fixed PID to the SPU.
      --sout-ts-pid-pmt=<integer [32 .. 8190]> 
                                 PMT PID
          Assign a fixed PID to the PMT
      --sout-ts-tsid=<integer>   TS ID
          Assign a fixed Transport Stream ID.
      --sout-ts-netid=<integer>  NET ID
          Assign a fixed Network ID (for SDT table)
      --sout-ts-program-pmt=<string> 
                                 PMT Program numbers
          Assign a program number to each PMT. This requires "Set PID to ID of
          ES" to be enabled.
      --sout-ts-es-id-pid,--no-sout-ts-es-id-pid 
                                 Set PID to ID of ES
                                 (default disabled)
          Sets PID to the ID if the incoming ES. This is for use with
          --ts-es-id-pid,and allows having the same PIDs in the input and
          output streams.
      --sout-ts-muxpmt=<string>  Mux PMT (requires --sout-ts-es-id-pid)
          Define the pids to add to each pmt. This requires "Set PID to ID of
          ES" to be enabled.
      --sout-ts-sdtdesc=<string> SDT Descriptors (requires --sout-ts-es-id-pid)
          Defines the descriptors of each SDT. This requires "Set PID to ID of
          ES" to be enabled.

也许这会有所帮助,但从未尝试过要实现的目标,所以我不确定。您可以使用libvlcsharp options

中的任何https://code.videolan.org/videolan/LibVLCSharp/-/blob/3.x/docs/libvlc_documentation.md#libvlc-options