【发布时间】:2011-07-12 14:24:13
【问题描述】:
我正在尝试将视频从 VLC 流式传输到 HTC G1。在几次“这应该工作”之后,我找到了一个允许我通过 VLC 观看流的 sout-chain。我也能听到安卓上的音频。
我目前使用的外链:
vlc some_file.mp4 -I http --sout "#transcode{soverlay,ab=128,samplerate=44100,channels=2,acodec=mp4a,vcodec=h264,width=480,height=270,vfilter="canvas{width=480,height=270,aspect=16:9}",fps=25,vb=800,venc=x264{level=12,no-cabac,subme=20,threads=4,bframes=0,min-keyint=1,keyint=50}}:gather:rtp{mp4a-latm,sdp=rtsp://0.0.0.0:5554/stream.sdp}"
这就是我在机器人上做的事情:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
vv = (VideoView) findViewById(R.id.video_view);
vv.setVideoURI(Uri.parse("rtsp://<local_ip>:5554/stream.sdp"));
vv.start();
}
我尽量将其保持在最低限度(这实际上是我在此处的另一个线程中找到的示例)。 我也尝试使用 MediaPlayer:
MediaPlayer mp = MediaPlayer.create(this, Uri.parse("rtsp://<local_ip>:5554/stream.sdp"));
mp.setDisplay(vv.getHolder());
mp.start();
我使用 setDisplay(SurfaceHolder) 是因为有人提到 MediaPlayer,否则不知道要使用什么显示器。
知道我遗漏了什么或做错了什么吗?
编辑:我用 MP4Box 提示了文件
【问题讨论】:
-
切换到 Darwin Streaming Server,工作正常。在 LG Optimus Speed 上进行了测试,发现这款手机可以按预期播放视频和音频。所以我认为我的问题已经解决了。
-
我也未能成功让 VLC 流式传输到 android 设备。内置媒体播放器应支持 rtsp url,因此您应该能够直接从 Web 浏览器的 URL 栏中打开流。如果有人知道神奇的 sout 参数集以使 VLC 流向 Android 工作,请在此处回复!