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

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

我正在尝试从嵌入式设备流式传输 MP4 文件并在笔记本电脑的 VLC 中播放。我的硬件设置如下所示

--------------                ------------------      
|  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格式,我对任何文件格式都是开放的。

谢谢,萨蒂什

最佳答案

感谢您的建议。事实上我能够让它工作。我刚刚修改了我的 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 

谢谢,萨蒂什

关于linux - 在远程 VLC 上使用 FFMPEG 流式传输 MP4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40474980/

相关文章:

php - Linux 上的 SQL Server 2005 扩展

c++ - 我如何从 Linux 控制台使用 CMake 构建 Eclipse C++ 项目(没有可用的 GUI)

javascript - 通过扩展支持 Firefox Mp4?

android - 如何使用 MediaPlayer 在 ListView 中播放多个视频?

ffmpeg - ffmpeg和硬件加速器的水印视频

audio - 将较大的音频文件编码为 .mpg 时,av_write_frame 失败

linux - 将程序的输出重定向到旋转文件

java - 如何解决延迟创建文件?

iphone - 求教关于在iPhone上播放电影的建议

ios - 如何在 iOS 中播放 .h264 文件(或)如何以编程方式将 .h264 文件转换为 .mp4 文件