我正在为客户开发网站,其中一项要求是嵌入来自HikVision DVR DS7116的视频。我有DVR的RTSP网址。我想要FFmpeg和FFserver的帮助。我已经编写了我的ffserver配置文件。
/etc/ffserver.config
Port 9500
# bind to all IPs aliased or not
BindAddress 0.0.0.0
# max number of simultaneous clients
MaxClients 1000
# max bandwidth per-client (kb/s)
MaxBandwidth 10000
# Suppress that if you want to launch ffserver as a daemon.
NoDaemon
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 5M
</Feed>
<Stream test.swf>
Feed feed1.ffm
Format swf
VideoCodec flv
VideoFrameRate 15
VideoBufferSize 80000
VideoBitRate 100
VideoQMin 1
VideoQMax 5
VideoSize 352x288
PreRoll 0
Noaudio
</Stream>
我接下来运行我的ffserver和ffmpeg命令
ffserver & ffmpeg -re -i rtsp://admin:12345@192.168.1.3/MPEG-4/ch1/main/av_stream http://192.168.1.105:9500/feed1.ffm
我收到的输出如下
ffmpeg version N-80901-gfebc862 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab
libavutil 55. 28.100 / 55. 28.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 41.100 / 57. 41.100
libavdevice 57. 0.102 / 57. 0.102
libavfilter 6. 47.100 / 6. 47.100
libavresample 3. 0. 0 / 3. 0. 0
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100
[rtsp @ 0x20c4720] Missing PPS in sprop-parameter-sets, ignoring
[h264 @ 0x20c7f60] non-existing PPS 0 referenced
Last message repeated 1 times
[h264 @ 0x20c7f60] decode_slice_header error
[h264 @ 0x20c7f60] no frame!
[rtsp @ 0x20c4720] RTP: missed 1137 packets
[rtsp @ 0x20c4720] max delay reached. need to consume packet
[rtsp @ 0x20c4720] RTP: missed 1125 packets
[rtsp @ 0x20c4720] max delay reached. need to consume packet
[rtsp @ 0x20c4720] RTP: missed 1126 packets
Guessed Channel Layout for Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://admin:12345@192.168.1.3/MPEG-4/ch1/main/av_stream':
Metadata:
title : HIK Media Server
comment : HIK Media Server Session Description : standard
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: h264 (Baseline), yuv420p, 352x288, 10 fps, 25 tbr, 90k tbn, 20 tbc
Stream #0:1: Audio: pcm_mulaw, 8000 Hz, 1 channels, s16, 64 kb/s
[ffm @ 0x21c0e80] Using AVStream.codec to pass codec parameters to muxers is deprecated, use AVStream.codecpar instead.
Output #0, ffm, to 'http://192.168.1.105:9500/feed1.ffm':
Metadata:
title : HIK Media Server
comment : HIK Media Server Session Description : standard
creation_time : now
encoder : Lavf57.41.100
Stream #0:0: Video: flv1 (flv), yuv420p, 352x288, q=1-5, 100 kb/s, 10 fps, 1000k tbn, 15 tbc
Metadata:
encoder : Lavc57.48.101 flv
Side data:
cpb: bitrate max/min/avg: 200000/0/100000 buffer size: 655360000 vbv_delay: -1
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> flv1 (flv))
Press [q] to stop, [?] for help
frame= 0 fps=0.0 q=0.0 size= 4kB time=00:00:00.00 bitrate=N/A speed= frame= 0 fps=0.0 q=0.0 size= 4kB time=00:00:00.00 bitrate=N/A speed= frame= 0 fps=0.0 q=0.0 size= 4kB time=00:00:00.00 bitrate=N/A speed= Past duration 1.003319 too large
Last message repeated 1 times
Past duration 1.005333 too large
frame= 31 fps= 15 q=31.0 size= 56kB time=00:00:02.00 bitrate= 229.4kbits/Past duration 1.005653 too large
Past duration 1.005989 too large
frame= 37 fps= 15 q=24.8 size= 76kB time=00:00:02.40 bitrate= 259.4kbits/Past duration 1.006660 too large
Past duration 1.006996 too large
frame= 46 fps= 15 q=31.0 size= 80kB time=00:00:03.00 bitrate= 218.5kbits/Past duration 1.007988 too large
Past duration 1.008659 too large
frame= 53 fps= 15 q=31.0 size= 96kB time=00:00:03.46 bitrate= 226.9kbits/Past duration 1.009987 too large
Past duration 1.010323 too large
frame= 61 fps= 15 q=24.8 size= 116kB time=00:00:04.00 bitrate= 237.6kbits/Past duration 1.010994 too large
Past duration 1.011330 too large
Past duration 1.011986 too large
frame= 68 fps= 15 q=31.0 size= 120kB time=00:00:04.46 bitrate= 220.1kbits/Past duration 1.012657 too large
[rtsp @ 0x20c4720] max delay reached. need to consume packet
[rtsp @ 0x20c4720] RTP: missed 1114 packets
[rtsp @ 0x20c4720] max delay reached. need to consume packet
[rtsp @ 0x20c4720] RTP: missed 1115 packets
Past duration 1.012993 too large
frame= 76 fps= 15 q=31.0 size= 140kB time=00:00:05.00 bitrate= 229.4kbits/Past duration 1.013664 too large
Past duration 1.014320 too large
Past duration 1.014656 too large
frame= 83 fps= 15 q=31.0 size= 144kB time=00:00:05.46 bitrate= 215.8kbits/Past duration 1.015327 too large
[rtsp @ 0x20c4720] max delay reached. need to consume packet
[rtsp @ 0x20c4720] RTP: missed 1103 packets
[rtsp @ 0x20c4720] max delay reached. need to consume packet
[rtsp @ 0x20c4720] RTP: missed 1104 packets
Past duration 1.015999 too large
frame= 91 fps= 15 q=31.0 size= 160kB time=00:00:06.00 bitrate= 218.5kbits/Past duration 1.016655 too large
Past duration 1.017326 too large
Past duration 1.017998 too large
frame= 98 fps= 15 q=31.0 size= 180kB time=00:00:06.46 bitrate= 228.0kbits/Past duration 1.018654 too large
[rtsp @ 0x20c4720] max delay reached. need to consume packet
[rtsp @ 0x20c4720] RTP: missed 1092 packets
[rtsp @ 0x20c4720] max delay reached. need to consume packet
[rtsp @ 0x20c4720] RTP: missed 1093 packets
Past duration 1.019325 too large
frame= 106 fps= 15 q=31.0 size= 184kB time=00:00:07.00 bitrate= 215.3kbits/Past duration 1.019997 too large
[rtsp @ 0x20c4720] max delay reached. need to consume packet
[rtsp @ 0x20c4720] RTP: missed 35 packets
Past duration 1.020653 too large
frame= 161 fps= 15 q=31.0 size= 264kB time=00:00:10.66 bitrate= 202.8kbits/Past duration 1.032661 too large
Past duration 1.033333 too large
frame= 167 fps= 15 q=31.0 Lsize= 276kB time=00:00:11.06 bitrate= 204.3kbits/s dup=94 drop=0 speed=0.964x
video:265kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.280833%
我可以看到有一些错误,流开始了。 当我将输出url放在我的html代码中时,没有流。我也试过在VLC中播放网络流并没有得到任何东西。任何人都可以帮助我吗?任何线索也受到赞赏。谢谢。
我的HTML代码是:
<embed type="application/x-vlc-plugin" pluginspage="http://www.videolan.org"
src="http://192.168.1.105:9500/test.swf"
width="640"
height="480"
id="vlc" />