簡體   English   中英

適用於 Android 和 IOS 的 FFMPEG HLS 流

[英]FFMPEG HLS stream for Android and IOS

我正在嘗試使用 ffmpeg 和 apache2.2 流式傳輸到移動設備,但我沒有成功。

我使用這個命令來創建片段和播放列表:

ffmpeg -i http://x.x.x.x:8080 -codec:v libx264 -r 25 -pix_fmt yuv420p -profile:v baseline -level 3 -b:v 500k -s 640x480 -codec:a aac -strict experimental -ac 2 -b:a 128k -movflags faststart -flags -global_header -map 0 -f hls  -hls_time 10 -hls_list_size 5 -hls_allow_cache 0 -sc_threshold 0 -hls_flags delete_segments -hls_segment_filename out%05d.ts list.m3u8

源是由 VLC 媒體播放器流式傳輸的 http 流。

list.m3u8 文件的示例內容:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:89
#EXTINF:10.000000,
out00089.ts
#EXTINF:10.000000,
out00090.ts
#EXTINF:10.000000,
out00091.ts
#EXTINF:10.000000,
out00092.ts
#EXTINF:9.000000,
out00093.ts
#EXT-X-ENDLIST

我創建了另一個播放列表文件 - playlist.m3u8:

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=512000
http://x.x.x.x/list.m3u8

如果我在 VLC 媒體播放器中打開這個 (playlist.m3u8) 文件,它就會播放。 它也適用於帶有 Video-js 插件 flash 回退的桌面 chrome 和桌面 Firefox 瀏覽器。

我將正確的 MIME 類型設置為 .htaccess 文件中的 .ts 和 .m3u8 文件:

AddType application/x-mpegURL .m3u8
AddType video/MP2T .ts

playlist.m3u8 的 FFprobe 輸出:

Input #0, hls,applehttp, from 'playlist.m3u8':
    Duration: N/A, start: 1.400000, bitrate: N/A
    Program 0
    Metadata: variant_bitrate : 512000
Stream #0:0: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
Metadata: variant_bitrate : 512000
Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 44100 Hz, stereo, fltp, 128 kb/s
Metadata: variant_bitrate : 512000

我應該怎么做才能讓它工作?

更新

如果我提供指向 list.m3u8 文件(由 ffmpeg 創建)的鏈接,它將起作用。

注意 Android 設備不完全支持.m3u8流,

“我看到很多人在播放 .M3U8 時遇到問題,這取決於用於流式傳輸的編解碼器以及與設備的兼容性,例如我的一些 .m3u8 文件僅在屏幕為 1200 x800 或更高的設備中受支持。 "

來源: 在android中播放m3u8視頻

喜歡使用.mp4 streaming的選項,或者您可以使用以下框架:、 https ://www.vitamio.org/en/

您的 playlist.m3u8 應該是主播放列表。 在這里檢查

內部播放列表應該有一個相對 URL,這是 HLS 主播放列表的原始格式。

即使主播放列表僅下載一次,播放器也會多次引用內部播放列表。 在這樣做的同時,他們也可能面臨 CORS 問題。 為避免這種情況,我建議提供一個相對 URL。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM