我不能 100% 确定我在这里问的是正确的问题,但基本上我想使用 VLC 将 4k 网络摄像头包装在传输流中,以便我可以将其用作 IPTV 服务器或对一些附加软件进行分类。
我目前拥有的:
vlc dshow:// :dshow-vdev="Video (00 Pro Capture HDMI 4K+)" :dshow-adev="Audio (2- 00 Pro Capture HDMI 4K+)" :dshow-aspect-ratio=16\:9 :dshow-chroma=BGR32 :dshow-vcodec=libx265 :dshow-fps=60 :dshow-acodec=mp4a :dshow-ab=96 :dshow-channels=2 :dshow-samplerate=44100 :no-dshow-config :no-dshow-tuner :live-caching=100 :sout=#transcode{vcodec=h.264,acodec=mpga,vb=800,ab=128,deinterlace}:rtp{dst=227.0.0.1,port=8554,mux=ts}
使用上述dshow
命令,我可以在本地 VLC 会话中完美显示图片。使用 RTP 命令,我似乎已成功将视频卡传输到传输流中,因为我可以在客户端 VLC 会话中从流中获取音频。
不过,似乎出错的是转码。我已打印了以下仅用于服务器 VLC 会话的日志。h.264 似乎不是有效的编解码器,mp4v 也不是(在我的计算机上找不到)。
有什么修复建议吗?我现在正为此绞尽脑汁……
-- logger module started --
main: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
dshow warning: ConnectFilters: No crossBar routes found (incompatible pin types)
stream_out_transcode error: cannot find video encoder (module:any fourcc:h.26). Take a look few lines earlier to see possible reason.
stream_out_transcode error: cannot create video chain
main warning: new sout input failed (sout_input: 04b265d0)
main error: cannot create packetizer output (I420)
main error: buffer deadlock prevented
main error: buffer deadlock prevented
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 100 ms)
main error: buffer deadlock prevented
main warning: late buffer for mux input (115683)
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 103 ms)
main error: buffer deadlock prevented
main warning: late buffer for mux input (115431)
main warning: late buffer for mux input (118376)
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 106 ms)
main error: buffer deadlock prevented
main warning: late buffer for mux input (126477)
main warning: late buffer for mux input (114186)
main warning: late buffer for mux input (120540)
main warning: late buffer for mux input (107243)
main warning: late buffer for mux input (112596)
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 107 ms)
main error: buffer deadlock prevented
main warning: late buffer for mux input (124779)
main warning: late buffer for mux input (121605)
main warning: late buffer for mux input (123958)
main warning: late buffer for mux input (129063)
main warning: late buffer for mux input (96295)
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 107 ms)
main error: buffer deadlock prevented
main warning: late buffer for mux input (120359)
main warning: late buffer for mux input (116294)
main warning: late buffer for mux input (118648)
main warning: late buffer for mux input (124053)
main error: ES_OUT_SET_(GROUP_)PCR is called too late (pts_delay increased to 108 ms)
main error: buffer deadlock prevented
main warning: late buffer for mux input (138024)
main warning: late buffer for mux input (95972)
main warning: late buffer for mux input (102325)
main warning: late buffer for mux input (114289)
main warning: late buffer for mux input (120643)
main warning: late buffer for mux input (128484)
main warning: late buffer for mux input (127838)
main warning: late buffer for mux input (107587)
main warning: late buffer for mux input (109940)
main warning: late buffer for mux input (114095)
main warning: late buffer for mux input (109449)
main warning: late buffer for mux input (117841)
main warning: late buffer for mux input (128195)
main warning: late buffer for mux input (107249)
main warning: late buffer for mux input (109602)
main warning: late buffer for mux input (114131)
main warning: late buffer for mux input (123485)
main warning: late buffer for mux input (122832)
main warning: late buffer for mux input (129186)
main warning: late buffer for mux input (97323)
main warning: late buffer for mux input (99676)
main warning: no more input streams for this mux
-- logger module stopped --