通过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,我可以使用例如 wget 或 curl 下载块。因此,如果有一个可以将块复制到AVI或MKV文件的工具,这对我来说已经足够了。
我知道同一作者的ISM Downloader和RTL Downloader。它们是.NET应用程序而不是开源。理想情况下,我正在寻找一个不需要.NET或Java的小型,独立的开源工具。我更喜欢C,C ++,Perl,Python,Ruby程序。
答案 0 :(得分:6)
VLC Media Player支持IIS Smooth Streaming。转到媒体,转换/保存,网络选项卡,将链接粘贴到清单文件,单击转换/保存,选择一种格式,然后按开始。
答案 1 :(得分:4)
您也可以尝试smoothget:https://github.com/pinglossy/smoothget,它是用C#编写的
答案 2 :(得分:2)
您可以尝试使用smooth-dl:http://git.ao2.it/smooth-dl.git/但它的功能有限,它只是准备用于多路复用的流,然后您可以使用ffmpeg(或Windows上的VirtualDub)来实现。欢迎使用它的补丁。
还有libsmth:https://github.com/satufk/libsmth
答案 3 :(得分:1)
您可以尝试使用smthplayer:http://sourceforge.net/projects/smthplayer/,但是您必须对源代码进行一些修复,因为:
它只是一个播放器,所以它生成一个.264或.vc1视频文件和一个.aac或.wav文件,你以后需要多路复用;
从版本0.4开始,作者添加了一个危及视频文件的功能,以避免录制。
修改它仅供个人使用(因此不要发布修改版本),因为限制是出于法律原因...