5

これまでのところ、ffserver を使用して RTSP 経由で mp4 ファイルをストリーミングしようとしています。ffmpeg からフィードせずに、ファイルから直接ストリーミングしたいだけです (トランスコーディングは必要ありません)。しかし、私はそれをmpgビデオで動作させました。

これが私のffserver構成ファイルです:

Port 8090
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 500000
CustomLog -
NoDaemon

RTSPPort 7654
RTSPBindAddress 0.0.0.0

<Stream test1-rtsp>
    Format rtp
    File "/home/g/video_streaming/sample3-mpeg2.mpg"
</Stream>
<Stream test2-rtsp>
    Format rtp
    File "/home/g/video.mp4"
</Stream>

ffserver を起動すると、ログ出力に基づいてすべて問題ないようです。

$ ./dev/ffmpeg/ffserver -f ffserver-sample.conf
ffserver version N-45673-gd0c27e8 Copyright (c) 2000-2012 the FFmpeg developers
  built on Oct 18 2012 10:36:52 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration:
  libavutil      51. 76.100 / 51. 76.100
  libavcodec     54. 66.100 / 54. 66.100
  libavformat    54. 33.100 / 54. 33.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 19.103 /  3. 19.103
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 16.100 /  0. 16.100
Thu Oct 18 11:54:22 2012 Opening file '/home/g/video.mp4'
Thu Oct 18 11:54:22 2012 Opening file '/home/g/video.mp4'
Thu Oct 18 11:54:23 2012 Opening file '/home/g/video_streaming/sample3-mpeg2.mpg'
Thu Oct 18 11:54:23 2012 [mpeg @ 0x1dae3c0]max_analyze_duration 5000000 reached at 5005000
Thu Oct 18 11:54:23 2012 Opening file '/home/g/video_streaming/sample3-mpeg2.mpg'
Thu Oct 18 11:54:23 2012 [mpeg @ 0x1dae3c0]max_analyze_duration 5000000 reached at 5005000
Thu Oct 18 11:54:23 2012 FFserver started.

最後に、サーバーをテストするために ffplay を実行すると、mpg ファイルではすべて正常に機能しますが、mp4 では機能しません。

$ ffplay rtsp://192.168.1.99:7654/test2-rtsp
ffplay version N-45656-g916352f Copyright (c) 2003-2012 the FFmpeg developers
  built on Oct 17 2012 16:14:14 with gcc 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5.1)
  configuration:
  libavutil      51. 76.100 / 51. 76.100
  libavcodec     54. 66.100 / 54. 66.100
  libavformat    54. 33.100 / 54. 33.100
  libavdevice    54.  3.100 / 54.  3.100
  libavfilter     3. 19.103 /  3. 19.103
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 16.100 /  0. 16.100
rtsp://192.168.1.99:7654/test2-rtsp: Invalid data found when processing input

Server's output:

Thu Oct 18 11:57:51 2012 FFserver started.
Thu Oct 18 11:58:01 2012 192.168.1.101 - - [DESCRIBE] "rtsp://192.168.1.99:7654/test2-rtsp RTSP/1.0" 200 167
Segmentation fault (core dumped)

何が欠けているのか本当にわかりません。ファイルからのストリーミングが壊れているという公式ドキュメントを読んだところです。それが最新かどうかよくわからないので、ここで試してみることにしました。

ヘルプや提案はありますか? 代替案?

4

2 に答える 2

1

代替手段を探している場合は、live555(http://www.live555.com/)とdarwinサーバーが適しています。私はそれらの両方を使用し、ファイルからストリーミングしている間はうまく動作します。

上記の場合、コアダンプを分析してデバッグを試すこともできます。ログを見ると、playコマンドを受信する前でもサーバーがクラッシュしていると思います。だからそれはどこかで小さなヒックアップかもしれません

于 2012-10-21T15:20:12.407 に答える