php页面vlc播放rtmp,如何在VLC中打开RTMP流?

这篇博客讲述了作者在尝试使用VLC播放RTMP流时遇到的问题,包括尝试使用rtmpdump和不同URL组合失败的实例,以及Wireshark抓包分析。尽管连接成功,但VLC和rtmpdump都报错无法播放。作者寻求帮助,希望找到正确的播放RTMP流的方法。
摘要由CSDN通过智能技术生成

我想不出如何从VLC播放RTMP流。我可以通过Flash Player在网页上查看它,没有任何问题。我发现对数据流的信息,通过萤火虫:如何在VLC中打开RTMP流?

我试图发挥使用rtmpdump,VLC的404p流,以及它们的组合。我不太确定如何粘贴网址,但是我尝试了所有我能想到的组合。我的一些例子尝试:

rtmp://wcdn101.nacevi.cz:1935/ct-vod/_defins.t_?id=HRraUUgv1FKF42a-02&publisher=lss/mp4:iVysilani/2014/10/08/KristynaLiskaBokCT-081014-MP4_404p.mp4

rtmp://wcdn101.nacevi.cz:1935/ct-vod/_defins.t_?id=HRraUUgv1FKF42a-02&publisher=lss?mp4:iVysilani/2014/10/08/KristynaLiskaBokCT-081014-MP4_404p.mp4

rtmp://wcdn101.nacevi.cz:1935/ct-vod/_defins.t_?id=HRraUUgv1FKF42a-02&publisher=lss/?mp4:iVysilani/2014/10/08/KristynaLiskaBokCT-081014-MP4_404p.mp4

rtmp://wcdn101.nacevi.cz:1935/ct-vod/_defins.t_?id=HRraUUgv1FKF42a-02&publisher=lss/iVysilani/2014/10/08/KristynaLiskaBokCT-081014-MP4_404p.mp4

rtmp://wcdn101.nacevi.cz:1935/ct-vod/_defins.t_?id=HRraUUgv

以下是一个简单的Android播放RTMP的示例代码: 首先,在build.gradle添加以下依赖项: ```gradle implementation 'com.github.pedroSG94.vlc-example-streamplayer:core:v3.3.2' implementation 'com.github.pedroSG94.vlc-example-streamplayer:rtmp:v3.3.2' ``` 接下来,在布局文件添加一个SurfaceView用于显示视频: ```xml <SurfaceView android:id="@+id/surfaceView" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 然后,在Activity或Fragment,您可以使用以下代码来初始化播放器并开始播放RTMP: ```java import android.net.Uri; import android.os.Bundle; import android.view.SurfaceHolder; import android.view.SurfaceView; import androidx.appcompat.app.AppCompatActivity; import com.github.pedrosg94.vlc.VlcListener; import com.github.pedrosg94.vlc.VlcVideoLibrary; public class MainActivity extends AppCompatActivity implements SurfaceHolder.Callback, VlcListener { private SurfaceView surfaceView; private VlcVideoLibrary vlcVideoLibrary; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); surfaceView = findViewById(R.id.surfaceView); surfaceView.getHolder().addCallback(this); vlcVideoLibrary = new VlcVideoLibrary(this, this); } @Override public void surfaceCreated(SurfaceHolder holder) { vlcVideoLibrary.setSurface(holder.getSurface(), null); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } @Override public void surfaceDestroyed(SurfaceHolder holder) { } @Override public void onComplete() { } @Override public void onError() { } @Override public void onBuffering(boolean b) { } @Override public void onPlaying() { } @Override public void onVideoSizeChanged(int i, int i1) { } @Override public void onBack() { } @Override protected void onResume() { super.onResume(); vlcVideoLibrary.play(Uri.parse("rtmp://your_rtmp_stream_url")); } @Override protected void onDestroy() { super.onDestroy(); vlcVideoLibrary.stop(); } } ``` 在上面的代码,我们创建了一个`VlcVideoLibrary`对象,并将其传递给了一个实现了`SurfaceHolder.Callback`和`VlcListener`接口的Activity或Fragment。然后,在`onResume()`方法,我们调用`vlcVideoLibrary.play(Uri.parse("rtmp://your_rtmp_stream_url"))`来开始播放RTMP。最后,在`onDestroy()`方法,我们调用`vlcVideoLibrary.stop()`来停止播放器并释放资源。 请注意,您需要将`"rtmp://your_rtmp_stream_url"`替换为实际的RTMPURL。 希望这可以帮助您开始播放RTMP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值