我在m3u8 hls视频中遇到问题。
m3u8有9-10秒的片段,每个片段前都有#EXTINF:<time>,
。
整个视频长达5小时,我试图从3:10:00
到3: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帧