22 linux streaming debian mp3 http
我正在开发iPhone上的音乐VOD应用程序,并且由于Apple的指导原则,我必须运行HTTP Live Streaming才能在AppStore上接受.但是,由于Apple并不关心地球上98%的服务器,因此他们没有为基于Linux的系统提供如此神奇的HTTP Live Streaming Tools.从这一点开始,噩梦就开始了.
我的目标很简单:拿MP3,分割它并生成一个简单的.m3u8索引文件.我用谷歌搜索"HTTP Live Streaming Linux"和"哦太棒了!很多人已经做过了"!
首先,我参观了卡森麦克唐纳的(如此着名的)帖子.结果:svn segmentate.c是旧的,错误的并且是编译的噩梦(这个世界上的任何人都无法确定他们正在使用的ffmpeg版本!).然后我遇到了Carson的git repo,但是太糟糕了,有很多讨厌的ruby东西而且live_segmenter.c无法获取mp3文件.
然后我更深入地搜索.我找到了这个stackoverflow主题,这正是我想要做的.所以我按照juuni的建议使用这个脚本(httpsegmenter).结果:无法编译任何东西,2天的工作,最后我设法编译它(ffmpeg 8.1 w/httpsegmenter rev17).不,这不是一个好的脚本,它确实需要mp3文件,但生成的ts文件和索引文件不能被播放器读取.
然后krisbulman的帖子的作者带来了一个解决方案,甚至还给了他自己的g3u8-segmenter版本(git repo).我测试它:不编译,什么都不做.所以我从johnf https://github.com/johnf/m3u8-segmenter获取了原始版本.我设法编译和奇迹它的工作(不是真的).我使用了这个命令行(ffmpeg 0.8.1):
ffmpeg -er 4 -i music.mp3 -f mpegts -acodec libmp3lame -ar 44100 -ab 128k -vn - | m3u8-segmenter -i - -d 10 -p outputdir/prefix -m outputdir/output.m3u8 -u http://test.com/
Run Code Online (Sandbox Code Playgroud)
这个脚本编码我的mp3文件(需要4秒,太长时间),并将其传递给m3u8-segmenter,将其分割为10秒.TS文件.
我在我的mac上用Apple的mediastreamvalidator测试了这个流,它说没关系.所以我把它播放到quicktime,但每个.TS文件之间有大约0.2秒的空白!
所以这是我的情况,这是一场噩梦,我无法通过HLS协议获得简单的mp3流.是否有一个简单的WORKING解决方案来分割MP3?为什么我不能直接将mp3文件分割成多个mp3文件,比如Apple的mediafilesegmenter呢?
pau*_*sm4 -1
你的英语很好。
你的挫败感是显而易见的。
问:这里真正的问题是什么?听起来您只需要一个可用的 HLS 服务器,对吗?因为苹果的要求,对吗?
您可以使用此处列出的任何现成的实现吗: