7

有一个通过 HTTP 可用的 IIS 平滑流 (ISM) 格式的音频+视频流。该.ism/manifest文件如下所示:

<?xml version="1.0" encoding="utf-16"?>
<SmoothStreamingMedia MajorVersion="2" MinorVersion="1" Duration="26571612076">
  <StreamIndex Type="video" Name="video" Chunks="1329" QualityLevels="3"
               MaxWidth="848" MaxHeight="480" DisplayWidth="853" DisplayHeight="480"
               Url="QualityLevels({bitrate})/Fragments(video={start time})">
    <QualityLevel Index="0" Bitrate="900000" FourCC="H264"
                  MaxWidth="848" MaxHeight="480" CodecPrivateData="..." />
    <QualityLevel Index="1" Bitrate="735000" FourCC="H264"
                  MaxWidth="736" MaxHeight="416" CodecPrivateData="..." />
    <QualityLevel Index="2" Bitrate="600000" FourCC="H264"
                  MaxWidth="624" MaxHeight="352" CodecPrivateData="..." />
    <c d="20400971" /> <c d="20000000" /> ...
  </StreamIndex> 
  <StreamIndex Type="audio" Index="0" Name="audio" Chunks="1329" QualityLevels="1"
               Url="QualityLevels({bitrate})/Fragments(audio={start time})">
    <QualityLevel FourCC="AACL" Bitrate="256000" SamplingRate="44100" Channels="2"
                  BitsPerSample="16" PacketSize="4" AudioTag="255"
                  CodecPrivateData="1210" />
    <c d="20201360" /> <c d="19969161" /> ...
  </StreamIndex>
  <StreamIndex Type="text" Subtype="CHAP">
    <Content>
      <Marker Time="0" Value="Thumbnail" />
      <Marker Time="664290000" Value="Thumbnail" /> ...
    </Content>
  </StreamIndex>
</SmoothStreamingMedia>

我需要 Linux 上的命令行工具(或库),它可以下载此流的各个音频和视频块,并将其多路复用为 AVI 或 MKV 文件。

实际上,下载很容易:使用Url=清单文件中的值,我可以构造块的 URL,我可以使用例如wgetcurl来下载块。因此,如果有一个工具可以将块多路复用到 AVI 或 MKV 文件,那对我来说已经足够了。

我知道同一作者的ISM 下载器和 RTL 下载器。它们是 .NET 应用程序而不是开源的。理想情况下,我正在寻找一个不需要 .NET 或 Java 的小型、独立的开源工具。我更喜欢 C、C++、Perl、Python、Ruby 程序。

4

4 回答 4

8

VLC 媒体播放器支持 IIS 平滑流。转到媒体,转换/保存,网络选项卡,将链接粘贴到清单文件,单击转换/保存,选择一种格式并按开始。

于 2014-06-09T22:51:04.757 回答
5

你也可以试试smoothget:https ://github.com/pinglossy/smoothget ,它是用C#写的

于 2013-04-06T21:09:44.330 回答
2

您可以尝试使用smooth-dl: http: //git.ao2.it/smooth-dl.git/但它的功能有限,它只是为多路混合准备流,然后您可以使用ffmpeg(或Windows上的VirtualDub ?)。欢迎使用补丁使其更有用。

还有libsmth:https ://github.com/satufk/libsmth

于 2012-03-23T15:13:10.100 回答
1

您可以尝试 smthplayer: http: //sourceforge.net/projects/smthplayer/,但您必须对源代码进行一些修复,因为:

  1. 它只是一个播放器,因此它会生成一个 .264 或 .vc1 视频文件和一个 .aac 或 .wav 文件,您必须稍后再进行复用;

  2. 从 0.4 版本开始,作者添加了一个对视频文件进行妥协以避免录制的功能。

修改它仅供您个人使用(所以不要发布修改后的版本),因为限制是出于法律原因......

于 2012-04-10T13:59:36.990 回答