首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从Live555到VLC的H.264视频流

从Live555到VLC的H.264视频流
EN

Stack Overflow用户
提问于 2010-06-28 07:52:35
回答 1查看 15.1K关注 0票数 7

如果您能帮我解决我几周来一直试图解决的H264流问题,我将非常感激。

我需要将H264视频从Live555 (在Linux机器上)流到(在上)。在RTSP中工作得很好,但是我需要使用没有RTSP的RTP,而在RTP中我看不到视频, VLC甚至不承认流是H264。

这是通过RTSP (工作的配置)传输的SDP文件:

代码语言:javascript
运行
复制
v=0
o=- 1277647151953158 1 IN IP4 190.40.14.100
s=Session streamed by "testH264VideoAudioStreamer"
i=test-h264-mux.mpg
t=0 0
a=tool:LIVE555 Streaming Media v2007.05.24
a=type:broadcast
a=control:*
a=source-filter: incl IN IP4 * 190.40.14.100
a=rtcp-unicast: reflection
a=range:npt=0-
a=x-qt-text-nam:Session streamed by "testH264VideoAudioStreamer"
a=x-qt-test-inf:test-h264=mux.mpg
m=video 8554 RTP/AVP 96
c=IN IP4 190.40.15.63/7
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=000042;sprop-parameter-sets=H264
a=control:track1

但是如果我从RTSP切换到RTP,它就不能工作了。我尝试过在VLC播放器中加载上面的SDP文件,但是没有帮助。

下面是VLC播放器0.8.6d的调试输出:

代码语言:javascript
运行
复制
main input debug: thread 4016 (input) created at priority 1 (input/input.c:265)
main input debug: `rtp://@190.40.15.63:8554' gives access `rtp demux' `' path `@190.40.15.63:8554'
main input debug: creating demux: access='rtp' demux='' path='@190.40.15.63:8554'
main demuxer debug: looking for access_demux module: 0 candidates
main demuxer warning: no access_demux module matched "rtp"
main input debug: creating access 'rtp' path='@190.40.15.63:8554'
main access debug: looking for access2 module: 6 candidates
access_udp access debug: opening server=:0 local=190.40.15.63:8554
main access debug: net: connecting to '[]:0@[190.40.15.63]:8554
main access debug: looking for netrowk module: 1 candidate
ipv6 access debug: 190.40.15.63: Host or service not found
main access debug: using network module "ipv6"
main access debug: removing network module "ipv6"
main access debug: looking for netrowk module: 1 candidate
ipv4 access debug: resolving 190.40.15.63:8554...
ipv4 access debug: resolving :0...
main access debug: using network module "ipv4"
main access debug: removing network module "ipv4"
main access debug: using access2 module "access_udp"
main private debug: pre buffering
access_udp access debug: no RTP header detected
main input debug: creating demux: access='rtp' demux='' path='@190.40.15.63:8554'
main demuxer debug: looking for demux2 module: 45 candidates
ts demuxer warning: TS module discarded (lost sync)
ffmpeg demuxer debug: detected format: mp3

(可能会有打字,因为我必须手动复制-不要问:)

在VLC 1.0.5中,我得到一个未知有效载荷类型的错误,而由于未知网络堆栈错误,SDP根本无法加载。显示的其他错误包括SDP连接信息不支持Sap警告:无效SDP

任何帮助都将不胜感激!

谢谢,

伊利亚

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-29 11:41:07

我要做的是使用一个SDP文件,而不是直接打开流。结果表明,SDP数据只有在使用RTSP时才能传输。当流RTP时,我必须自己提供SDP文件。

所以我做的是:

  1. Stream (工作的方法),
  2. 使用Wireshark记录在RTSP上传输的SDP文件,
  3. 将SDP保存为扩展名.sdp、
  4. 的文本文件,打开SDP文件而不是直接打开网络流。

它带来了魔法!

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3130796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档