ffmpeg 和 ffserver 抛出错误,未获取流
Error being thrown by ffmpeg and ffserver, not getting a stream
我正在尝试使用 ffmpeg 和 ffserver 流式传输我目录中的文件。但是ffmpeg和ffserver都报错了。以下是我的 ffserver 配置文件。
HTTPPort 8092
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 2000
CustomLog -
#NoDaemon
NoDefaults
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 20M
ACL allow 127.0.0.1
</Feed>
<Stream live.webm>
Feed feed1.ffm
Format webm
AudioCodec vorbis
AudioBitRate 64
VideoCodec libvpx
VideoSize 720x576
VideoFrameRate 25
AVOptionVideo flags +global_header
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 42
AVOptionVideo quality good
AVOptionAudio flags +global_header
PreRoll 15
StartSendOnKey
VideoBitRate 400
AudioSampleRate 44100
</Stream>
我能够毫无问题地正确启动 ffserver,但是当我尝试使用 ffmpeg 为 ffserver 提供文件时,会发生这种情况
ffmpeg -i sam.webm http://127.0.0.1:8092/feed1.ffm -vcodec copy
ffmpeg version N-72738-g7630cce Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --enable-libvpx --enable-libvorbis --enable-libx264 --enable-gpl --enable-nonfree
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Trailing options were found on the commandline.
Input #0, matroska,webm, from 'sam.webm':
Metadata:
title : Sintel Trailer
encoder : Lavf56.25.101
Duration: 00:00:52.21, start: 0.000000, bitrate: 305 kb/s
Stream #0:0: Video: vp8, yuv420p, 854x480, SAR 1:1 DAR 427:240, 24 fps, 24 tbr, 1k tbn, 1k tbc (default)
Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp (default)
[libvpx @ 0x367e180] v1.3.0
Output #0, ffm, to 'http://127.0.0.1:8092/feed1.ffm':
Metadata:
title : Sintel Trailer
creation_time : now
encoder : Lavf56.36.100
Stream #0:0: Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp, 64 kb/s (default)
Metadata:
encoder : Lavc56.41.100 libvorbis
Stream #0:1: Video: vp8 (libvpx), yuv420p, 720x576 [SAR 427:300 DAR 427:240], q=10-42, 400 kb/s, 24 fps, 1000k tbn, 25 tbc (default)
Metadata:
encoder : Lavc56.41.100 libvpx
Stream mapping:
Stream #0:1 -> #0:0 (vorbis (native) -> vorbis (libvorbis))
Stream #0:0 -> #0:1 (vp8 (native) -> vp8 (libvpx))
Press [q] to stop, [?] for help
av_interleaved_write_frame(): Connection reset by peer
Last message repeated 2 times
frame= 14 fps=0.0 q=0.0 Lsize= 16kB time=00:00:00.56 bitrate= 234.1kbits/s dup=1 drop=0
video:1kB audio:2kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 327.780670%
Conversion failed!
这是在 ffmpeg 中发生此错误时我在 ffserver 中收到的消息。
ffserver
ffserver version N-72738-g7630cce Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --enable-libvpx --enable-libvorbis --enable-libx264 --enable-gpl --enable-nonfree
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Mon Jun 8 18:38:28 2015 FFserver started.
Mon Jun 8 18:38:40 2015 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 4175
Mon Jun 8 18:38:40 2015 [NULL @ 0x29878a0]Missing key or no key/value separator found after key 'pkt_timebase'
Mon Jun 8 18:38:40 2015 Feed '/tmp/feed1.ffm' stream number does not match registered feed
Mon Jun 8 18:38:40 2015 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 4096
有人可以帮我吗?
如果您的目录中有该文件,您可以尝试跳过提要部分。这样,ffserver
将使文件准备好在服务器启动时进行流式传输,而您不必使用 ffmpeg
-命令。
而不是:
<Stream live.webm>
Feed feed1.ffm
...
使用:
<Stream live.webm>
Format webm #if needed
File "sam.webm"
...
如果您想先处理文件,您可能需要浏览提要。
我正在尝试使用 ffmpeg 和 ffserver 流式传输我目录中的文件。但是ffmpeg和ffserver都报错了。以下是我的 ffserver 配置文件。
HTTPPort 8092
HTTPBindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 2000
CustomLog -
#NoDaemon
NoDefaults
<Feed feed1.ffm>
File /tmp/feed1.ffm
FileMaxSize 20M
ACL allow 127.0.0.1
</Feed>
<Stream live.webm>
Feed feed1.ffm
Format webm
AudioCodec vorbis
AudioBitRate 64
VideoCodec libvpx
VideoSize 720x576
VideoFrameRate 25
AVOptionVideo flags +global_header
AVOptionVideo cpu-used 0
AVOptionVideo qmin 10
AVOptionVideo qmax 42
AVOptionVideo quality good
AVOptionAudio flags +global_header
PreRoll 15
StartSendOnKey
VideoBitRate 400
AudioSampleRate 44100
</Stream>
我能够毫无问题地正确启动 ffserver,但是当我尝试使用 ffmpeg 为 ffserver 提供文件时,会发生这种情况
ffmpeg -i sam.webm http://127.0.0.1:8092/feed1.ffm -vcodec copy
ffmpeg version N-72738-g7630cce Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --enable-libvpx --enable-libvorbis --enable-libx264 --enable-gpl --enable-nonfree
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Trailing options were found on the commandline.
Input #0, matroska,webm, from 'sam.webm':
Metadata:
title : Sintel Trailer
encoder : Lavf56.25.101
Duration: 00:00:52.21, start: 0.000000, bitrate: 305 kb/s
Stream #0:0: Video: vp8, yuv420p, 854x480, SAR 1:1 DAR 427:240, 24 fps, 24 tbr, 1k tbn, 1k tbc (default)
Stream #0:1: Audio: vorbis, 48000 Hz, stereo, fltp (default)
[libvpx @ 0x367e180] v1.3.0
Output #0, ffm, to 'http://127.0.0.1:8092/feed1.ffm':
Metadata:
title : Sintel Trailer
creation_time : now
encoder : Lavf56.36.100
Stream #0:0: Audio: vorbis (libvorbis), 44100 Hz, stereo, fltp, 64 kb/s (default)
Metadata:
encoder : Lavc56.41.100 libvorbis
Stream #0:1: Video: vp8 (libvpx), yuv420p, 720x576 [SAR 427:300 DAR 427:240], q=10-42, 400 kb/s, 24 fps, 1000k tbn, 25 tbc (default)
Metadata:
encoder : Lavc56.41.100 libvpx
Stream mapping:
Stream #0:1 -> #0:0 (vorbis (native) -> vorbis (libvorbis))
Stream #0:0 -> #0:1 (vp8 (native) -> vp8 (libvpx))
Press [q] to stop, [?] for help
av_interleaved_write_frame(): Connection reset by peer
Last message repeated 2 times
frame= 14 fps=0.0 q=0.0 Lsize= 16kB time=00:00:00.56 bitrate= 234.1kbits/s dup=1 drop=0
video:1kB audio:2kB subtitle:0kB other streams:0kB global headers:4kB muxing overhead: 327.780670%
Conversion failed!
这是在 ffmpeg 中发生此错误时我在 ffserver 中收到的消息。
ffserver
ffserver version N-72738-g7630cce Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
configuration: --enable-libvpx --enable-libvorbis --enable-libx264 --enable-gpl --enable-nonfree
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Mon Jun 8 18:38:28 2015 FFserver started.
Mon Jun 8 18:38:40 2015 127.0.0.1 - - [GET] "/feed1.ffm HTTP/1.1" 200 4175
Mon Jun 8 18:38:40 2015 [NULL @ 0x29878a0]Missing key or no key/value separator found after key 'pkt_timebase'
Mon Jun 8 18:38:40 2015 Feed '/tmp/feed1.ffm' stream number does not match registered feed
Mon Jun 8 18:38:40 2015 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 200 4096
有人可以帮我吗?
如果您的目录中有该文件,您可以尝试跳过提要部分。这样,ffserver
将使文件准备好在服务器启动时进行流式传输,而您不必使用 ffmpeg
-命令。
而不是:
<Stream live.webm>
Feed feed1.ffm
...
使用:
<Stream live.webm>
Format webm #if needed
File "sam.webm"
...
如果您想先处理文件,您可能需要浏览提要。