Linux Can';t使用ffmpeg从平滑流媒体清单文件获取信息
我正在尝试使用ffmpeg工具(ffprobe和ffplay)获取Microsoft Smooth Streaming协议流的详细信息,但当我运行下一个命令时:Linux Can';t使用ffmpeg从平滑流媒体清单文件获取信息,linux,ffmpeg,manifest,smooth-streaming,Linux,Ffmpeg,Manifest,Smooth Streaming,我正在尝试使用ffmpeg工具(ffprobe和ffplay)获取Microsoft Smooth Streaming协议流的详细信息,但当我运行下一个命令时: ffprobe -i http://b31282.cdn.telefonica.com/31282/Manifest 我得到这个: http://b31282.cdn.telefonica.com/31282/Manifest: Invalid data found when processing input 我假设这个清单文件是正
ffprobe -i http://b31282.cdn.telefonica.com/31282/Manifest
我得到这个:
http://b31282.cdn.telefonica.com/31282/Manifest: Invalid data found when processing input
我假设这个清单文件是正确的,并且符合平滑流的标准。这是清单文件的简要摘录:
<SmoothStreamingMedia MajorVersion="2" MinorVersion="0" Duration="0" TimeScale="10000000" IsLive="TRUE" LookAheadFragmentCount="2" DVRWindowLength="6000000000" CanSeek="TRUE" CanPause="TRUE">
<Protection>
<ProtectionHeader SystemID="9a04f079-9840-4286-ab92-e65be0885f95">oioAAAIAAQCUAjwAV...</ProtectionHeader>
</Protection>
<StreamIndex Type="audio" Name="audio_esp" Language="esp" Subtype="" Chunks="0" TimeScale="10000000" Url="QualityLevels({bitrate})/Fragments(audio_esp={start time})"></StreamIndex>
<StreamIndex Type="video" Name="video" Language="" Subtype="" Chunks="0" TimeScale="10000000" Url="QualityLevels({bitrate})/Fragments(video={start time})"></StreamIndex>
</SmoothStreamingMedia>
ffmpeg -i http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/Manifest
Invalid data found when processing input
PD:我更喜欢只使用ffmpeg工具
PD2:与Microsoft平滑流媒体清单文件相同:
<SmoothStreamingMedia MajorVersion="2" MinorVersion="0" Duration="0" TimeScale="10000000" IsLive="TRUE" LookAheadFragmentCount="2" DVRWindowLength="6000000000" CanSeek="TRUE" CanPause="TRUE">
<Protection>
<ProtectionHeader SystemID="9a04f079-9840-4286-ab92-e65be0885f95">oioAAAIAAQCUAjwAV...</ProtectionHeader>
</Protection>
<StreamIndex Type="audio" Name="audio_esp" Language="esp" Subtype="" Chunks="0" TimeScale="10000000" Url="QualityLevels({bitrate})/Fragments(audio_esp={start time})"></StreamIndex>
<StreamIndex Type="video" Name="video" Language="" Subtype="" Chunks="0" TimeScale="10000000" Url="QualityLevels({bitrate})/Fragments(video={start time})"></StreamIndex>
</SmoothStreamingMedia>
ffmpeg -i http://mediadl.microsoft.com/mediadl/iisnet/smoothmedia/Experience/BigBuckBunny_720p.ism/Manifest
Invalid data found when processing input
感谢您的支持,smoothstreaming demux不受支持 这里是,smoothstreaming不显示在demux部分。下面是当您询问支持哪些类型时的输出
chang@p300a:~/git-root/FFmpeg$ ffmpeg -formats|grep smooth
ffmpeg version n4.2.3-3-gbf7ed52c25 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: --enable-libv4l2 --enable-zlib --enable-vaapi --enable-pthreads --enable-vdpau --enable-xlib --enable-libv4l2 --enable-libx264 --enable-gpl --enable-gnutls --enable-openssl --enable-nonfree --disable-gnutls --enable-libxml2 --enable-libdrm
libavutil 56. 31.100 / 56. 31.100
libavcodec 58. 54.100 / 58. 54.100
libavformat 58. 29.100 / 58. 29.100
libavdevice 58. 8.100 / 58. 8.100
libavfilter 7. 57.100 / 7. 57.100
libswscale 5. 5.100 / 5. 5.100
libswresample 3. 5.100 / 3. 5.100
libpostproc 55. 5.100 / 55. 5.100
E smoothstreaming Smooth Streaming Muxer
我想说,显而易见的答案是FFmpeg不支持您正在尝试的操作。