Darwin流媒体服务器对于实现live流媒体和广播等应用较好,对于RTSP协议支持的较为完备。而对于媒体文件的点播操作(Video or Audio On Demand)实现起来则较为繁琐。这里将VOD和AOD的实现办法总结一下:
VOD
对于视频文件,Darwin本身可以支持直接点播,支持的视频格式为mp4和mov两种。
操作办法如下:
1.将视频文件进行hint操作。
2.将hint后的视频文件上传到Darwin的movies目录,默认位置为:/usr/local/movies/。该目录可以通过这个管理系统来进行修改。
为什么要hint?
在rtsp协议协商过程中,需要对会话的sdp信息进行协商。Darwin对于媒体文件的sdp描述信息,是通过在媒体文件中增加track来获取的。增加的hint track即是存储对应的媒体信息。可以使用mp4creator来对媒体文件的track信息进行查看例如:
- zfjia@zfjia-laptop:/tmp$ mp4creator -list sample_h264_1mbit.mp4
- Track Type Info
- 1 audio MPEG-4 AAC LC, 70.016 secs, 128 kbps, 48000 Hz
- 2 video H264 Main@3, 70.000 secs, 804 kbps, 380x480 @ 30.000000 fps
- 3 hint Payload H264 for track 2
- 4 hint Payload mpeg4-generic for track 1
从上面的例子中可以看出该媒体文件里包含有4个track。1为音频数据,是aac编码,2为视频数据,采用的是H264编码。3为2的hint,4为1 的hint。
如何为媒体文件新建hint track?
使用mp4creator可以对媒体文件hint一个track,可以删除已经存在的track。
- zfjia@zfjia-laptop:/tmp$ mp4creator -list sample_h264_1mbit.mp4
- Track Type Info
- 1 audio MPEG-4 AAC LC, 70.016 secs, 128 kbps, 48000 Hz
- 2 video H264 Main@3, 70.000 secs, 804 kbps, 380x480 @ 30.000000 fps
对video所在的track2进行hint操作:
- zfjia@zfjia-laptop:/tmp$ mp4creator -hint=2 sample_h264_1mbit.mp4
查看文件信息:
- zfjia@zfjia-laptop:/tmp$ mp4creator -list sample_h264_1mbit.mp4
- Track Type Info
- 1 audio MPEG-4 AAC LC, 70.016 secs, 128 kbps, 48000 Hz
- 2 video H264 Main@3, 70.000 secs, 804 kbps, 380x480 @ 30.000000 fps
- 3 hint Payload H264 for track 2
对audio所在的track1进行hint操作
- zfjia@zfjia-laptop:/tmp$ mp4creator -hint=1 sample_h264_1mbit.mp4
- zfjia@zfjia-laptop:/tmp$ mp4creator -list sample_h264_1mbit.mp4
- Track Type Info
- 1 audio MPEG-4 AAC LC, 70.016 secs, 128 kbps, 48000 Hz
- 2 video H264 Main@3, 70.000 secs, 804 kbps, 380x480 @ 30.000000 fps
- 3 hint Payload H264 for track 2
- 4 hint Payload mpeg4-generic for track 1
如何安装mp4creator?
mp4creator是作为mpeg4ip这个包里的一个工具。在ubuntu下,可以直接通过apt来安装
对于音频文件
思路:可以将音频文作为一个audio类型的track,创建一个新的mp4这类文件,然后对该mp4文件进行hint操作,生成额外的track。
1.直接将mp3文件作为audio的track,然后生成mp4文件,然后hint
这种方式,使用的codec是MPA 即mpeg audio,对于此种codec,android的media player无法播放。
2.将mp3文件转化为aac,然后将aac作为一个audio,生成mp4文件,然后hint
- ffmpeg -i infile.mp3 -acodec libfaac -ab 128k outfile.aac
OK
阅读(6019) | 评论(0) | 转发(0) |