Chinaunix首页 | 论坛 | 博客
  • 博客访问: 135087
  • 博文数量: 12
  • 博客积分: 1616
  • 博客等级: 上尉
  • 技术积分: 206
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-18 13:38
文章分类
文章存档

2013年(3)

2012年(9)

我的朋友

分类: LINUX

2012-04-24 11:21:56

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信息进行查看例如:

点击(此处)折叠或打开

  1. zfjia@zfjia-laptop:/tmp$ mp4creator -list sample_h264_1mbit.mp4
  2. Track Type Info
  3. 1 audio MPEG-4 AAC LC, 70.016 secs, 128 kbps, 48000 Hz
  4. 2 video H264 Main@3, 70.000 secs, 804 kbps, 380x480 @ 30.000000 fps
  5. 3 hint Payload H264 for track 2
  6. 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。

点击(此处)折叠或打开

  1. zfjia@zfjia-laptop:/tmp$ mp4creator -list sample_h264_1mbit.mp4
  2. Track Type Info
  3. 1 audio MPEG-4 AAC LC, 70.016 secs, 128 kbps, 48000 Hz
  4. 2 video H264 Main@3, 70.000 secs, 804 kbps, 380x480 @ 30.000000 fps

对video所在的track2进行hint操作:


点击(此处)折叠或打开

  1. zfjia@zfjia-laptop:/tmp$ mp4creator -hint=2 sample_h264_1mbit.mp4

查看文件信息:


点击(此处)折叠或打开

  1. zfjia@zfjia-laptop:/tmp$ mp4creator -list sample_h264_1mbit.mp4
  2. Track Type Info
  3. 1 audio MPEG-4 AAC LC, 70.016 secs, 128 kbps, 48000 Hz
  4. 2 video H264 Main@3, 70.000 secs, 804 kbps, 380x480 @ 30.000000 fps
  5. 3 hint Payload H264 for track 2

对audio所在的track1进行hint操作


点击(此处)折叠或打开

  1. zfjia@zfjia-laptop:/tmp$ mp4creator -hint=1 sample_h264_1mbit.mp4
  2. zfjia@zfjia-laptop:/tmp$ mp4creator -list sample_h264_1mbit.mp4
  3. Track Type Info
  4. 1 audio MPEG-4 AAC LC, 70.016 secs, 128 kbps, 48000 Hz
  5. 2 video H264 Main@3, 70.000 secs, 804 kbps, 380x480 @ 30.000000 fps
  6. 3 hint Payload H264 for track 2
  7. 4 hint Payload mpeg4-generic for track 1

如何安装mp4creator?

mp4creator是作为mpeg4ip这个包里的一个工具。在ubuntu下,可以直接通过apt来安装


点击(此处)折叠或打开

  1. apt-get install mpeg4ip

对于音频文件

思路:可以将音频文作为一个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


点击(此处)折叠或打开

  1. ffmpeg -i infile.mp3 -acodec libfaac -ab 128k outfile.aac

OK



阅读(6019) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~