3

我正在尝试使用 Mac OS X 10.6 的 mediastreamsegmenter 来获取我的 mac 的音频输入并将其转换为我可以在 iPhone 上收听的流。

我已经阅读了这个和相关的手册页。但是当我做这样的事情时:

mediastreamsegmenter -s 3 -D -f /tmp/stream localhost:8080

“流”目录中没有文件出现,当我尝试使用 QuickTime Player X 连接到 localhost:8080 时,不行。

我在这里想念什么?

4

1 回答 1

13

根据描述该工具的技术说明:mediastreamsegmenter

该工具通过 UDP 网络连接或从标准输入接收 MPEG-2 传输流,并将其分成一系列持续时间相等的小媒体段。然后它会创建一个索引文件,其中包含对各个媒体片段的引用。

这意味着您需要在要进行捕获的机器上运行 UDP 服务器,该服务器能够以 MPEG2 传输流的形式推出数据。

我无法找到从麦克风输入捕获的任何免费可用的东西,但这里有一系列步骤可以查看将从您的 iSight 流式传输的有效实时流。

在开始之前,您需要最新版本的VLC

设置流媒体服务器

  1. 启动 VLC 并选择 File -> Open Capture Device...
  2. 选择Capture选项卡并在下拉列表中选择 iSight
  3. 确保启用流式传输/保存复选框
  4. 单击设置...按钮并按照下面的屏幕截图进行配置: 替代文字
  5. 单击OK,但不要单击Open按钮
  6. 转到系统偏好设置,单击共享图标并确保已打开网络共享。
  7. 转到您的主文件夹并在站点文件夹中创建一个名为例如流的新文件夹
  8. 在终端类型mediastreamsegmenter -s 3 -D -f /Users/your-user-name/Sites/stream/ 127.0.0.1:2222中,然后按 Enter。确保将 your-user-name 替换为您的短用户名。如果您不知道那是什么,请whoami在终端中输入
  9. VLC中单击打开

如果几秒钟后一切顺利,您应该会看到如下消息:

Dec  7 2010 22:46:37.696: Finalized /Users/name/Sites/stream/fileSequence27.ts
Dec  7 2010 22:46:37.741: received 276360 written bytes 260380 skipped 15792 pat/pmt skipped 15792
Dec  7 2010 22:46:48.504: Finalized /Users/name/Sites/stream/fileSequence28.ts
Dec  7 2010 22:46:49.263: received 371112 written bytes 356636 skipped 15792 pat/pmt skipped 15792

溪流

要测试一切是否正常:

  1. 打开 QuickTime X
  2. 文件 -> 打开网址
  3. 输入http://localhost/~name/stream/prog_index.m3u8
  4. 点击打开

在 iPhone 上,只需打开 MobileSafari 并转到相同的 URL,例如http://your.ip.address/~name/stream/prog_index.m3u8

于 2010-12-08T07:13:54.247 回答