ffmpeg在HLS m3u8视频中寻找

时间:2016-07-06 13:06:23

标签: video ffmpeg

我在m3u8 hls视频中遇到问题。
m3u8有9-10秒的片段,每个片段前都有#EXTINF:<time>,

整个视频长达5小时,我试图从3:10:003:45:00剪辑:

ffmpeg -ss 3:10:00 -i 'http://example.com/v/vod.m3u8' -t 0:35:00 -c:v copy -bsf:a aac_adtstoasc out.mp4

当我执行它时,它只是永远等待。我在Windows和Linux上都试用过最新版本的FFmpeg。我等了一个小时昨天,它没有做任何事情。经度:

Input #0, hls,applehttp, from 'http://example.com/v/vod.m3u8':
  Duration: 05:25:27.08, start: 60.000000, bitrate: 0 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 159 kb/s
    Stream #0:1: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080, 30 fps, 30 tbr, 90k tbn, 60 tbc
    Stream #0:2: Data: timed_id3 (ID3  / 0x20334449)
Output #0, mp4, to 'out.mp4':
  Metadata:
    encoder         : Lavf57.41.100
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080, q=2-31, 30 fps, 30 tbr, 90k tbn, 90k tbc
    Stream #0:1: Audio: aac (LC) ([64][0][0][0] / 0x0040), 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      encoder         : Lavc57.48.101 aac
Stream mapping:
  Stream #0:1 -> #0:0 (copy)
  Stream #0:0 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help

它永远都是这样。

如何在不下载整个5h25m的情况下寻求3小时10分钟? -ss似乎做不了多少

是应该这么慢还是m3u8已损坏?看起来像这样:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#ID3-EQUIV-TDTG:2015-12-16T03:24:26
#EXT-X-PLAYLIST-TYPE:EVENT

#EXT-X-ELAPSED-SECS:0.0
#EXT-X-TOTAL-SECS:19527.08
#EXTINF:9.268,
index-00000-vdyz-0.ts
#EXTINF:10.000,
index-00001-AiD9-0.ts
(...)

它有12x #EXT-X-DISCONTINUITY,每约174个部分。

当我使用VLC或任何其他播放器直接打开m3u8时,我可以毫无问题地进行搜索,而且它是即时的。 FFmpeg似乎没有使用相同的搜索方法,或者它被破坏了。

要了解我的意思,请尝试在此m3u8上寻找:

http://vod167-ttvnw.akamaized.net/07e4ac668a/lirik_7709808752_7709808752/chunked/index-dvr.m3u8

并尝试快速搜索(输入前的-ss)到2:30:00并使用frames:v 1 out.jpg导出1帧

0 个答案:

没有答案