1

我正在尝试在 Panda 到 RTSP 视频+音频到 Android 4.1.2 应用程序上构建一个 gstreamer 管道。Android 应用程序使用:

videoView.setVideoURL(Uri.parse(":rtsp://..."))

观看视频。在 Panda 上,我构建了 gstreamer-0.10(以获得工作 uvch264_src 元素以从 Logitech C920 相机获取 H.264 视频)并使用 gst-rtsp-server/exmaples/test-launch 通过以下方式提供视频+音频:

./test-launch 'uvch264_src do-timestamp=true mode=2 post-previews=false usage-type=1 iframe-period=2000 peak-bitrate=400000 rate-control=qp auto-start=true name=src ! queue ! video/x-h264,width=640,height=480,framerate=30/1,profile=constrained-baseline ! h264parse ! rtph264pay name=pay0 pt=96 \
alsasrc do-timestamp=true device=plughw:2,0 ! audio/x-raw-int,rate=44100 ! queue ! audioconvert ! ffenc_ac3 ! rtpac3pay name=pay1 pt=97'

我可以在 VLC 上查看流(音频不同步),但 Android 平板电脑无法播放流。如果我删除管道的音频部分:

./test-launch 'uvch264_src do-timestamp=true mode=2 post-previews=false usage-type=1 iframe-period=2000 peak-bitrate=400000 rate-control=qp auto-start=true name=src ! queue ! video/x-h264,width=640,height=480,framerate=30/1,profile=constrained-baseline ! h264parse ! rtph264pay name=pay0 pt=96'

然后Android应用程序播放没有问题。

如何编码音频+视频管道,以便 videoView 可以播放它?我需要先将音频和视频混合成一个 MPEG-TS 流吗?

4

0 回答 0