2

我正在尝试找出 HTTP 流服务器。我有一个使用 mp3 音频文件在 Apache22 上工作的测试播放列表:

http://atkin.identry.com/mp3/

这个播放列表适用于我的 iPhone 4s,但不适用于我的 iPad,即使它运行的是相同版本的 iOS 5,或者运行 Lion 的 iMac 上的 Safari。

对于 iPad,Apache 日志显示播放列表被获取,但没有其他内容:

75.127.142.66 - - [30/Dec/2011:13:24:19 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 304 - "-" "AppleCoreMedia/1.0.0.9A405 (iPad; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:24:20 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 206 126 "-" "AppleCoreMedia/1.0.0.9A405 (iPad; U; CPU OS 5_0_1 like Mac OS X; en_us)"

使用 iPhone,会先获取播放列表,然后再获取音频文件,如您所料:

75.127.142.66 - - [30/Dec/2011:13:26:31 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 206 2 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:31 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 206 126 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:35 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 304 - "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:35 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 206 126 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:35 -0500] "GET /mp3/playlist.m3u8 HTTP/1.1" 200 126 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:35 -0500] "GET /mp3/1.mp3 HTTP/1.1" 200 366464 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:36 -0500] "GET /mp3/2.mp3 HTTP/1.1" 200 375865 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"
75.127.142.66 - - [30/Dec/2011:13:26:36 -0500] "GET /mp3/3.mp3 HTTP/1.1" 200 316303 "-" "AppleCoreMedia/1.0.0.9A405 (iPhone; U; CPU OS 5_0_1 like Mac OS X; en_us)"

对于 Safari,获取播放列表和音频文件,与 iPhone 相同,但网页上不显示任何内容,也不播放声音。

这是播放列表:

#EXTM3U
#EXT-X-TARGETDURATION:44
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:15,
1.mp3
#EXTINF:16,
2.mp3
#EXTINF:13,
3.mp3
#EXT-X-ENDLIST

很简单......很难看出我可能在哪里出错了,但显然我有。

我知道这是一个非常深奥的主题,但如果有人有想法,我很想听听。

谢谢

4

1 回答 1

0

好吧,我想通了。它不在播放列表文件或音频文件中,而是在索引文件中,我认为它太简单了,不值得列出。

问题出在视频标签中。我错误地使用了一些网络教程中的示例,标签设置如下:

  <video src="./playlist.m3u8" height="300" width="400" ></video>

这在 iPad 或 Safari 上不起作用。将其更改为此使其可以在 iPad 上工作,但不能在 Safari 上工作:

  <video src="playlist.m3u8" height="300" width="400" ></video>

据我所知,这些 URL 是等效的,但是......

最后,将其更改为此使其适用于所有平台:

 <video src="playlist.m3u8" width="320" height="40" controls="controls"     autoplay="autoplay" >Your browser does not support the video tag</video>

现在我需要播放 m4a 文件...

于 2011-12-30T22:03:29.040 回答