JMStudio 用户指南

   

JMF 文档


本指南说明如何使用 JMStudio。JMStudio 是一个独立的 Java 应用程序,它使用 JMF 2.0 API 对媒体数据进行播放、捕获、代码转换以及写入操作。JMStudio 还使用 JMF RTP API 跨整个网络接收和传输媒体流。

获取 JMStudio 的源代码
 

目录
入门

必须先安装 JMF 2.1.1,才能运行 JMStudio。有关如何安装 JMF 的信息,参见安装页面。

运行 JMStudio

JMStudio.bat
java JMStudio

JMStudio 启动后,显示以下菜单:

打开一个新 JMStudio 窗口

New Window

退出 JMStudio

Exit

菜单汇总

File | New Window Ctrl+N 启动一个新的 JMStudio 应用程序实例。
File | Open File Ctrl+O 打开一个文件以便播放。
File | Open URL Ctrl+U 打开一个 URL 或媒体定位器以便播放。
File | Open RTP Session Ctrl+R 打开一个 RTP 接收/播放会话。
File | Capture Ctrl+P 打开一个对话框,您可以在其中选择捕获设备并开始捕获数据。
File | Recent URLs   打开一个菜单,您可以从其中的 JMStudio 最近访问的 URL 列表中选择一个 URL。
File | Close Ctrl+W 关闭当前播放器或处理器。
File | Export Ctrl+E 打开一个对话框,您可以在其中对媒体数据进行代码转换和保存媒体数据。
File | Transmit Ctrl+T 打开一个对话框,您可以在其中通过网络传输媒体数据。
File | Exit   终止该应用程序。
Player | Auto Play   切换当前播放器或处理器的自动播放状态。启用自动播放后,播放器开始自动呈现媒体流。
Player | Auto Loop   切换当前播放器或处理器的自动循环状态。启用自动循环后,每当到达媒体尾部播放器就自动重放媒体流。
Player | Maintain Aspect Ratio   JMStudio 窗口重新调整大小时保持视频窗口的宽高比。
Player | Full Screen Ctrl+F 展开 JMStudio 窗口使之充满整个屏幕。单击任一点将 JMStudio 窗口恢复为原始大小。
Player | Snap Shot Ctrl+S 为当前显示的视频帧拍摄快照。
Player | Plug-In Viewer Ctrl+V 打开一个显示媒体处理流程的窗口。
Player | Capture Controls   使您能够控制捕获参数。
Help | About JMStudio Ctrl+H 显示一个包含 JMStudio 版本号和版权信息的关于框。

使用 JMStudio 播放媒体数据

JMStudio 允许您从各种源(文件、URL 或 TP 传输)播放媒体流。

播放文件

  1. 从 File 菜单选择 Open File。将显示 Open File 对话框:


  2.  

  3. 在 Open File 对话框中,选择要播放的文件,然后单击 OK
  4.  

    为选定的文件创建 JMF 播放器。如果启用了 Auto Play,播放器将自动启动并自动开始呈现选定的媒体文件。

    如果 JMF 不支持该文件的格式,将显示错误消息。

从 URL 或媒体定位器播放媒体

  1. 从 File 菜单选择 Open URL。将显示 Open URL 对话框。


  2.  

  3. 在 Open URL 对话框中,输入您要播放的 URL 或媒体定位器,例如 http://greatmedia.ibm.com/clip1.mov
  4. 单击 Open

  5. 如果输入的 URL 存在,且其格式受 JMF 支持,则会为该 URL 创建 JMF 播放器并启动。如果找不到该 URL 或者 JMF 不支持其格式,将显示错误消息。JMF 2.1.1 实现所支持的协议包括 HTTP、FTP 和 FILE。

打开 URL
  1. 从 File 菜单选择 Open URL
  2. 在 Open URL 对话框中,输入标识您希望从其中接收 RTP 流的 RTP 源的媒体定位器。例如,rtp://mediastreams.ibm.com:49150/audio/1。(有关 RTP 特有媒体定位器的说明,请参见 RTP 媒体定位器。)
  3. 单击 Open
接收并呈现 RTP 流

Open URL 命令还用于捕获媒体数据。详细信息,请参见使用 JMStudio 捕获媒体数据

重新播放之前的文件或 URL

访问过的 URL

接收和播放 RTP 流

  1. 从 File 菜单选择 Open RTP Session。将显示 Open RTP Session 对话框。


  2.  

  3. 在 Open RTP Session 对话框中,在 Address 域中输入会话地址(如 129.144.251.181),在 Port 域中输入端口号(如 23450),然后选择 TTL(生存时间)。这些构成了传输源的地址(如果是多播传输,则构成了多播地址)。通过程序员指南您可以了解有关 RTP 会话地址的更多信息。
  4.  

    RTP 媒体定位器的格式为:rtp://address:port[:ssrc]/content-type/[ttl],其中:

    address RTP 会话的 IP 地址
    port RTP 会话的端口。
    ssrc 接收数据的源的 SSRC 标识符。如果未指定 ssrc,将选择 RTP 会话管理器检测到的第一个流作为数据源的流。
    ttl RTP 会话的生存时间。
    content-type 定义数据内容类型的字符串,如视频、音频、动画、文本等。将为这一特定的媒体类型创建媒体处理程序(播放器)。

     
  5. 输入 RTP 会话地址和端口后,单击 Open 按钮。JMStudio 将为指定的 RTP 媒体位置创建 RTP 会话管理器。
Statistics Close RTP Session
  • 单击 Close RTP Session 关闭 RTP 会话管理器。
  • 单击 Statistics 按钮打开显示 RTP 会话参与者有关信息的 Participant List 窗口。该窗口包含另一个 Statistics 按钮,单击它可以显示包含 RTP 会话统计信息的窗口。
呈现控制

有关如何使用 JMF 2.1.1 发送和接收 RTP 流的更多信息,请参见 Java Media Framework API 指南中的“接收和呈现 RTP 媒体流”。

控制媒体呈现

在播放媒体数据的同时,可以使用以下控件:

Play 启动媒体数据呈现。如果呈现被暂停,则从暂停点恢复播放。
Pause 暂停媒体数据呈现。Play 按钮将从暂停点恢复播放。
Step Back / Forward 按帧后退或前进。如果这两个按钮中的任一个被按下,将以每秒两帧的速率自动重复操作。
Seek 将媒体设置到一个新的播放位置。通过拖动 Seek 滑块或在 Seek 条中单击均可实现跳转。媒体播放时,跳转不起作用,直到鼠标按钮被释放。媒体暂停时,拖动 Seek 滑块将导致视频连续更新。
Mute 音频静音。音频静音的同时呈现(包括视频,如果适应)仍将继续。单击 Mute 按钮音频静音,再次单击它将恢复正常音频播放。
Volume 右键单击 Mute 按钮弹出音量滑块。使用该滑块设置音量大小。可以拖动音量滑块来增加或减小音量。向右拖动则增加音量。有些情况下,音量滑块不可用。
Information 显示媒体属性,包含正在播放的媒体的有关信息,包括 JMF 版本、URL 名称、时长、比特率、视频编码、窗口大小、帧速率、音频编码和音频质量。
Zoom 右键单击视频窗口显示一个菜单,通过该菜单可以设置图像的比例。提供的选项有 1:2(一半大小)、1:1(正常大小)、2:1(两倍大小)和 4:1(四倍大小)。
Rate 右键单击 Information 按钮显示一个菜单,通过该菜单可以设置媒体播放速率。速率可以设置为正常速度的 1/4 到 8倍之间的任一值。
Auto Loop 在 Player 菜单中启用 Auto Loop 将使媒体连续播放,每次到达媒体尾部时都将重启媒体播放。重复选择自动重放选项将使重放设置在打开与关闭之间切换。

关闭当前播放器

Close

将媒体流保存到文件

JMStudio 支持您对媒体流进行代码转换并将它写到一个文件中。代码转换是将媒体流或它的某些轨道从一种媒体格式转换为另一种媒体格式的过程。要使用 JMStudio 进行代码转换并保存媒体文件、URL 或捕获的媒体流,执行以下操作:

  1. 打开源(File | Open FileFile | Open URL)。
  2. 从 File 菜单选择 Export。显示 Export 对话框。


  3.  

  4. 在 Export 对话框中,为您希望包含在输出文件中的每个轨道设置编码参数。
  5. 要排除某个轨道,禁用 Enable Track 复选框。
  6. 一旦为您希望写入的每个轨道指定了编码参数,则单击 Save。将显示 Save As File 对话框。



     

  7. 在 Save as File 对话框中,输入您希望保存代码转换后的媒体数据的文件的名称。
  8. 单击 OK 写入媒体文件。
传输媒体流

可以使用 JMStudio 的 Transmit 命令对媒体流进行代码转化并使用 RTP 通过网络传输媒体流。

  1. 从 File 菜单选择 Transmit。将显示 Transmit 向导:


  2.  
     

  3. 选择媒体的源位置。可以选择 File 或 Capture 源。
  4. 单击 Next 转到 RTP 格式页面,设置要传输的音频/视频轨道的格式。可以禁用您不想传输的任何轨道。


  5.  
     

  6. 单击 Next 转到 RTP 参数页面。为您希望传输的每个轨道输入会话地址、端口和 TTL。


  7.  

  8. 单击 Finish 启动传输。如果您希望修改前面几页中的设置,单击 Back。
  9.  

 
捕获媒体

JMF 支持通过称为 Capture DataSources 的特定数据源捕获媒体。要使用 JMStudio 捕获媒体,执行以下操作:

预览捕获的媒体数据

  1. 从 File 菜单选择 Capture。将显示 Select Capture Device 对话框:


  2.  

  3. 选择您希望从其预览传入的媒体数据的捕获设备以及您希望捕获的媒体的格式。
  4. 单击 OK 开始捕获媒体。
使用 Plug-In Viewer

JMStudio 包含一个查看器,它显示处理器轨道和插件的图形概览。通过该图形用户可以在播放、捕获和代码转换期间监视媒体流。

要打开当前正在呈现的媒体的 Plug-In Viewer,从 Player 菜单选择 Plug-In Viewer。这将打开 Plug-In Viewer 窗口,其中显示当前加载的插件及其它们之间的连接:

打开代码转换处理器的 Plug-In Viewer:

  1. 单击 info 按钮打开处理器的信息对话框。
  2. 选择 Misc 选项卡。
  3. 选择 Plug-In Viewer。
媒体结束

要查看在插件间传递的缓冲区的参数,将鼠标置于插件左侧或右侧的小方框上。在 Plug-In Viewer 窗口的底部显示缓冲区参数,包括格式和长度。