HTTP-live流媒体需要一个仅音频链接。我现在使用FFMPEG中的分段器来播放视频,这非常有用。但是,在提供音频文件时,分段器似乎不起作用,只需创建一个段。
对FFMPEG的分段调用是:
ffmpeg -i data / media / 1/2 / encoded.mp3 -y -c copy -flags global_header -map 0 -f segment -segment_time 10 -segment_list data / media / 1/2 / fileList.txt -segment_format libmp3lame 数据/媒体/ 1/2 / segment_%05d.mp3
我确实将-segment_format'libmp3lame'放入其中,但它似乎没有什么区别。
第一步是编码,这是臭虫输出:
20:11:36,158 DEBUG ~ FFMPEG: ffmpeg version 0.10.2.git-d3d5e84 Copyright (c) 2000-2012 the FFmpeg developers
20:11:36,158 DEBUG ~ FFMPEG: built on May 2 2012 19:00:38 with clang 3.0 (tags/Apple/clang-211.10.1)
20:11:36,158 DEBUG ~ FFMPEG: configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libxvid --enable-libx264 --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm
20:11:36,158 DEBUG ~ FFMPEG: libavutil 51. 44.100 / 51. 44.100
20:11:36,158 DEBUG ~ FFMPEG: libavcodec 54. 12.100 / 54. 12.100
20:11:36,158 DEBUG ~ FFMPEG: libavformat 54. 3.100 / 54. 3.100
20:11:36,158 DEBUG ~ FFMPEG: libavdevice 53. 4.100 / 53. 4.100
20:11:36,158 DEBUG ~ FFMPEG: libavfilter 2. 66.101 / 2. 66.101
20:11:36,158 DEBUG ~ FFMPEG: libswscale 2. 1.100 / 2. 1.100
20:11:36,158 DEBUG ~ FFMPEG: libswresample 0. 10.100 / 0. 10.100
20:11:36,158 DEBUG ~ FFMPEG: libpostproc 52. 0.100 / 52. 0.100
20:11:36,162 DEBUG ~ FFMPEG: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'data/media/1/1/test.m4a':
20:11:36,162 DEBUG ~ FFMPEG: Metadata:
20:11:36,162 DEBUG ~ FFMPEG: major_brand : mp42
20:11:36,162 DEBUG ~ FFMPEG: minor_version : 1
20:11:36,163 DEBUG ~ FFMPEG: compatible_brands: mp42mp41
20:11:36,163 DEBUG ~ FFMPEG: creation_time : 2011-12-07 18:53:04
20:11:36,163 DEBUG ~ FFMPEG: Duration: 00:00:24.20, start: 0.000000, bitrate: 40 kb/s
20:11:36,163 DEBUG ~ FFMPEG: Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 22050 Hz, stereo, s16, 39 kb/s
20:11:36,163 DEBUG ~ FFMPEG: Metadata:
20:11:36,163 DEBUG ~ FFMPEG: creation_time : 2011-12-07 18:53:04
20:11:36,163 DEBUG ~ FFMPEG: handler_name : Apple Sound Media Handler
20:11:36,170 DEBUG ~ FFMPEG: [mpegts @ 0x7fe4c404d000] muxrate VBR, pcr every 4 pkts, sdt every 200, pat/pmt every 40 pkts
20:11:36,171 DEBUG ~ FFMPEG: Output #0, mpegts, to '/Users/Luuk/Documents/Java/idoms-server/data/media/1/2/encoded.mp3':
20:11:36,171 DEBUG ~ FFMPEG: Metadata:
20:11:36,171 DEBUG ~ FFMPEG: major_brand : mp42
20:11:36,171 DEBUG ~ FFMPEG: minor_version : 1
20:11:36,171 DEBUG ~ FFMPEG: compatible_brands: mp42mp41
20:11:36,171 DEBUG ~ FFMPEG: creation_time : 2011-12-07 18:53:04
20:11:36,171 DEBUG ~ FFMPEG: encoder : Lavf54.3.100
20:11:36,171 DEBUG ~ FFMPEG: Stream #0:0(eng): Audio: mp3, 48000 Hz, stereo, s16, 64 kb/s
20:11:36,171 DEBUG ~ FFMPEG: Metadata:
20:11:36,171 DEBUG ~ FFMPEG: creation_time : 2011-12-07 18:53:04
20:11:36,171 DEBUG ~ FFMPEG: handler_name : Apple Sound Media Handler
20:11:36,171 DEBUG ~ FFMPEG: Stream mapping:
20:11:36,171 DEBUG ~ FFMPEG: Stream #0:0 -> #0:0 (aac -> libmp3lame)
20:11:36,171 DEBUG ~ FFMPEG: Press [q] to stop, [?] for help
20:11:36,673 DEBUG ~ FFMPEG: size= 109kB time=00:00:12.79 bitrate= 69.5kbits/s
20:11:37,156 DEBUG ~ FFMPEG: size= 209kB time=00:00:24.24 bitrate= 70.7kbits/s
20:11:37,156 DEBUG ~ FFMPEG: video:0kB audio:190kB global headers:0kB muxing overhead 10.301383%
然后下一个是分段(版本0.10.2不能同时做两个):
20:11:37,211 DEBUG ~ FFMPEG: ffmpeg version 0.10.2.git-d3d5e84 Copyright (c) 2000-2012 the FFmpeg developers
20:11:37,212 DEBUG ~ FFMPEG: built on May 2 2012 19:00:38 with clang 3.0 (tags/Apple/clang-211.10.1)
20:11:37,212 DEBUG ~ FFMPEG: configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libdirac --enable-libschroedinger --enable-libopenjpeg --enable-libmodplug --enable-libxvid --enable-libx264 --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/clang --arch=x86_64 --enable-yasm
20:11:37,212 DEBUG ~ FFMPEG: libavutil 51. 44.100 / 51. 44.100
20:11:37,212 DEBUG ~ FFMPEG: libavcodec 54. 12.100 / 54. 12.100
20:11:37,212 DEBUG ~ FFMPEG: libavformat 54. 3.100 / 54. 3.100
20:11:37,212 DEBUG ~ FFMPEG: libavdevice 53. 4.100 / 53. 4.100
20:11:37,212 DEBUG ~ FFMPEG: libavfilter 2. 66.101 / 2. 66.101
20:11:37,212 DEBUG ~ FFMPEG: libswscale 2. 1.100 / 2. 1.100
20:11:37,212 DEBUG ~ FFMPEG: libswresample 0. 10.100 / 0. 10.100
20:11:37,212 DEBUG ~ FFMPEG: libpostproc 52. 0.100 / 52. 0.100
20:11:37,226 DEBUG ~ FFMPEG: [mpegts @ 0x7fccc2049800] max_analyze_duration 5000000 reached at 5016000
20:11:37,226 DEBUG ~ FFMPEG: Input #0, mpegts, from '/Users/Luuk/Documents/Java/idoms-server/data/media/1/2/encoded.mp3':
20:11:37,226 DEBUG ~ FFMPEG: Duration: 00:00:24.12, start: 1.376978, bitrate: 71 kb/s
20:11:37,226 DEBUG ~ FFMPEG: Program 1
20:11:37,226 DEBUG ~ FFMPEG: Metadata:
20:11:37,226 DEBUG ~ FFMPEG: service_name : Service01
20:11:37,226 DEBUG ~ FFMPEG: service_provider: FFmpeg
20:11:37,226 DEBUG ~ FFMPEG: Stream #0:0[0x100](eng): Audio: mp3 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16, 64 kb/s
20:11:37,226 DEBUG ~ FFMPEG: Output #0, segment, to '/Users/Luuk/Documents/Java/idoms-server/data/media/1/2/segment_%05d.mp3':
20:11:37,226 DEBUG ~ FFMPEG: Metadata:
20:11:37,226 DEBUG ~ FFMPEG: encoder : Lavf54.3.100
20:11:37,226 DEBUG ~ FFMPEG: Stream #0:0(eng): Audio: mp3 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, 64 kb/s
20:11:37,226 DEBUG ~ FFMPEG: Stream mapping:
20:11:37,226 DEBUG ~ FFMPEG: Stream #0:0 -> #0:0 (copy)
20:11:37,226 DEBUG ~ FFMPEG: Press [q] to stop, [?] for help
20:11:37,238 DEBUG ~ FFMPEG: size= 0kB time=00:00:24.28 bitrate= 0.0kbits/s
20:11:37,238 DEBUG ~ FFMPEG: video:0kB audio:190kB global headers:0kB muxing overhead -100.000000%