使用 ffmpeg 和 ffserver 通过 rtsp 将网络摄像头源流式传输到 android 客户端

streaming a webcam feed over rtsp using ffmpeg & ffserver to an android client

我正在尝试通过 rtsp 传输我的网络摄像头并使用 android 打开流。 我设法使用 ffserver 和 ffmpgeg 使第一部分工作(rtsp 流)。这是我的 ffserver.conf 文件:

HTTPPort 8000
RTSPPort 8001
HTTPBindAddress 192.168.1.74
RTSPBindAddress 192.168.1.74
MaxClients 100
MaxBandwidth 10000
NoDefaults

<Feed witty.ffm>
   File /tmp/witty.ffm
   FileMaxSize 20M
</Feed>

<Stream witty.mov>
   Feed witty.ffm
   Format rtp
   VideoSize 640x480
   VideoQMin 1
   VideoQMax 20
   VideoFrameRate 30
   VideoBitRate 500
   AVOptionVideo flags +global_header
   VideoCodec libx264
   AVPresetVideo baseline
   NoAudio
</Stream>

服务器:

ffserver -f -d ffserver.conf // luch the server

然后我用FFmpeg打开网络摄像头(Mac OS)

ffmpeg -f avfoundation -i "default" http://192.168.1.74:8000/witty.ffm

我可以从 VLC 打开流但是在 android 上使用 videoView 我收到一个错误 (1,-38) 和一个警告视图说 "can't play this video".

<Stream witty.mov>

.mov (QuickTime) 不属于 Android 支持的视频格式。

使用支持的格式,如 3GP 等

您可以找到 full list of supported formats here.