首先確認您輸入的文件就OK ,因爲GIGO(垃圾進,垃圾出)。
HLS
可以使用自適應流式傳輸,因此請檢查您的m3u8
是否爲變體播放列表。例如:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1280000
http://example.com/low.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2560000
http://example.com/mid.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=7680000
http://example.com/hi.m3u8
這是必要的,因爲流可能會根據您的網絡條件切換到不同的質量。如果可用帶寬足夠低,則可以選擇僅音頻流(如果可用)。
如果是這種情況,請選擇您可以獲取的最大比特率的子播放列表,並將其直接用作您的ts
分段的源。
關於轉碼部分,我建議你嘗試使用與ffmpeg相同的命令。抓取最新的git
版本。你可以自己編譯它(推薦)或者獲取一個包/靜態構建。
如果複製編碼仍然不起作用,您可以嘗試重新編碼該文件(例如:-c:v x264 -c:a libfdk_aac
)。
爲WebM
,你可以這樣做:
ffmpeg -i input.ts -c:v libvpx -c:a libvorbis output.webm
爲VP8
/Vorbis
或:
ffmpeg -i input.ts -c:v libvpx-vp9 -c:a opus output.webm
爲VP9
/Opus
這是最簡單的例子,你應該設置編碼參數而不是使用默認值。檢查documentation。
https://trac.ffmpeg.org/wiki/Encode/VP8
https://trac.ffmpeg.org/wiki/Encode/VP9
https://trac.ffmpeg.org/wiki/Encode/H.264
感謝@aergistal!安裝ffmpeg的確適用於mp4和webm ..但是我正在考慮將mp4作爲webm編碼需要一段時間! – Danny
@AnkitDhanna你應該嘗試'VP8',速度更快。您可以按照指南中所示調整參數以獲得更好的速度。即使'MP4'中的'H.264'可能需要一段時間才能獲得較慢的配置文件(更好的壓縮)。 – aergistal
謝謝......我會研究它 – Danny