【发布时间】:2012-05-10 17:36:17
【问题描述】:
我正在做一个流媒体项目。
我将 VLC 作为服务器运行,将 mp4 (h264/aac) RTSP 流传输到 Flumotion 服务器(基于 Gstreamer)。
我认为这要么是 VLC(基于 Live555)和 Flumotion(基于 GStreamer)之间的兼容性问题,要么是用于接收 RTSP 流的管道写错了。
这是flumotion使用的管道,需要修复(rtsp.py第44-49行):
return ("rtspsrc name=src location=%s ! decodebin name=d ! queue "
" ! %s ffmpegcolorspace ! video/x-raw-yuv "
" ! videorate ! video/x-raw-yuv,framerate=%d/%d ! "
" @feeder:video@ %s ! @feeder:audio@"
% (location, scaling_template, framerate[0],
framerate[1], audio_template))
编辑: 问题是 Flumotion 中的 RTSP-Producer 组件无法从 VLC 流中接收任何数据。没有错误,什么都没有,它只是保持“唤醒”状态。
我尝试了 Flumotion 使用的 GStreamer 管道的一些变体,但无法使其正常工作。
我在 StackOverflow 中发现了许多类似的未解决问题,这让我认为这是一个兼容性问题
我不是 gst-pipeliner !所以请帮助我摆脱这场斗争。
【问题讨论】:
-
你的问题是什么?您收到什么错误消息?
-
你能用 gstreamer 播放流吗:gst-launch playbin2 uri=...?
-
是的,我可以!即使这个命令似乎接收到数据(日志中没有错误)但它没有播放它:gst-launch -v rtspsrc name=src location=rtsp://127.0.0.1:8554/live!解码箱名称=d !队列 ! ffmpeg色彩空间!视频/x-raw-yuv !视频速率!视频/x-raw-yuv,帧率=5/1!自动视频接收器
标签: stream gstreamer rtsp vlc pipeline