VLC MPTS流媒体

时间:2015-11-24 14:59:05

标签: streaming vlc

我尝试使用VLC作为UDP多播传输MPEG-TS。我有一个包含多个程序的录制文件。我需要在输出上接收每个程序作为单个程序TS。

我在ubuntu 14.04中使用控制台界面来做这件事,我遇到了问题。除了第一个程序之外,我无法获得任何程序。

cvlc MyMPTS.ts --sout '#duplicate{dst=udp{mux=ts,dst=239.233.1.1:5510},select="program=1"}' -

这个命令效果很好,但是如果我尝试添加另一个程序来链接或我将程序号更改为另一个,我得到了以下输出:

[0x7ff748c93c38] main decoder error: cannot create packetizer output (mpga)
[0x7ff748c8c168] main decoder error: cannot create packetizer output (mpgv)

输出中没有任何内容

如果我使用GUI流式传输,则效果很好。我可以选择我的MPTS中的任何程序并将其输出,我可以启动几个VLC窗口并设置不同程序的流媒体。但GUI在我的案例中并不起作用。

为什么vlc无法使用除源文件

中定义的第一个以外的程序

1 个答案:

答案 0 :(得分:0)

使用你的命令我得到:

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
    // Always call the superclass so it can restore the view hierarchy
    super.onRestoreInstanceState(savedInstanceState);

    // Restore state members from saved instance
    mCurrentScore = savedInstanceState.getInt(STATE_SCORE);
    mCurrentLevel = savedInstanceState.getInt(STATE_LEVEL);
}

这似乎可以通过从let path = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true) let imageURL = path?.URLByAppendingPathComponent("images") try! NSFileManager.defaultManager().createDirectoryAtURL(imageURL!, withIntermediateDirectories: true, attributes: nil)

中移除[00007fa880008b38] stream_out_standard stream out error: UDP output is only valid with TS mux [00007fa880008b38] stream_out_standard stream out error: no suitable sout mux module for `udp/‌​ts://...' 来解决
mux=ts

它仍然会抱怨dst=udpcvlc input.ts --sout '#duplicate{dst=udp{dst=...},select="program=94",dst=udp{dst=...},select="program=102"}' ,但它会开始通过UDP发送mpga。不知道它不喜欢什么,也许与muxer选择有关。