2016-11-07 122 views
-1

我想从我的嵌入式设备上传输MP4文件,并在我的笔记本电脑中在VLC中播放它。我的H/W设置类似于下面在远程VLC上使用FFMPEG的MP4流式传输

--------------    ------------------  
| Board  |  Ethernet | Window Laptop | 
| (Android N)|----------------|  VLC  | 
| 192.168.1.5|    | 192.168.1.2 | 
| ffmpeg |    |----------------| 
|------------| 

我试图从发行板上方FFmpeg的命令,它看起来像下面

嵌入式主板--- ./ffmpeg -re -i VID。 MP4 -vcodec复制-an -f RTP RTP://192.168.1.2:1234 -vn -acodec副本-f RTP RTP://192.168.1.2:1234

笔记本电脑VLC方面我SDP文件看起来像下面

v=0 
o=- 453271780569021 453271780586833 IN IP4 /192.168.1.5 
s=Unnamed 
i=N/A 
c=IN IP4 /192.168.1.2 
t=0 0 
a=recvonly 
m=video 1234 RTP/AVP 96 
a=rtpmap:96 H264/90000 

我没有看到VLC端的任何流。我相信有一些错误的命令,我还不知道。请让我知道,如果有人知道我能做到这一点。顺便说一下,视频文件不限于MP4格式,我打开任何文件格式。

谢谢,萨蒂什

+0

'-an'和'-vn'分别指_audioNone_和_videoNone_,所以不要使用他们,如果你真的想一些A/V数据以获取发送...还如果你用'udp:// 192 ...'替换'rtp:// 192 ...'等等会发生什么?看看FFmpeg的[**流媒体指南**](https://trac.ffmpeg.org/wiki/StreamingGuide)可以帮助你。 –

回答

0

感谢您的建议。其实我能够得到它的工作。我只是像下面那样修改了我的SDP文件(它只是复制/粘贴从ffmpeg命令生成的SDP内容)。

v=0 
o=- 0 0 IN IP4 127.0.0.1 
s=No Name 
t=0 0 
a=tool:libavformat 57.57.100 
m=video 1234 RTP/AVP 96 
c=IN IP4 192.168.1.2 
b=AS:612 
a=rtpmap:96 H264/90000 
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=J0LgHqkYFAX/LgDUGAQa2wrXvfAQ,KN4JyA==; profile-level-id=42E01E 
m=audio 1234 RTP/AVP 97 
c=IN IP4 192.168.1.2 
b=AS:65 
a=rtpmap:97 MPEG4-GENERIC/22050/2 
a=fmtp:97 profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength=3;indexdeltalength=3; config=1390 

感谢,萨蒂什南比亚