在远程VLC上使用FFMPEG流式传输MP4

时间:2016-11-07 21:28:28

标签: linux video ffmpeg embedded-linux android-7.0-nougat

我尝试从我的嵌入式设备流式传输MP4文件,然后在笔记本电脑的VLC中播放。我的H / W设置如下所示

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

我试图从主板方发出ffmpeg命令,它看起来像下面

嵌入式主板---     ./ffmpeg -re -i vid.mp4 -vcodec copy -an -f rtp rtp://192.168.1.2:1234 -vn -acodec copy -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格式,我可以打开任何文件格式。

谢谢,萨蒂什

1 个答案:

答案 0 :(得分: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 

谢谢,萨蒂什