ไฟล์ VLC และ m3u8


2

เช้าวันดีที่ฉันสร้างฉันทดสอบ HLS ffmpeg -i C:\Users\funny\Desktop\uscita\out.mp4 -vcodec libx264 -g 24 -hls_time 10 -hls_playlist_type vod -vsync 1 index1.m3u8สตรีมมิ่งและฉันสร้างรายการเพลงง่ายและส่วนของวิดีโอโดยใช้คำสั่ง

วิดีโอต้นฉบับเปิดขึ้นโดยไม่มีปัญหาและ ffmpeg เข้ารหัสวิดีโอโดยไม่มีปัญหาใน index1 นั่นคือไฟล์เพลย์ลิสต์และ index10 index11 index12 เป็น 3 .ts (วิดีโอมีความยาวเพียง 26 วินาที) ฉันติดตั้ง VLC เพราะฉันรู้ว่ามันเปิดไฟล์เพลย์ลิสต์ดังนั้นฉันสามารถทดสอบ. m3u8 ของฉันได้ แต่เมื่อฉันเปิดด้วย VLC โปรแกรมเริ่มทำงาน แต่มันไม่เล่นอะไรเลย สำหรับการอ้างอิงที่นี่เป็นเพลย์ลิสต์ด้วย:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:12
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:11.500000,
index10.ts
#EXTINF:12.000000,
index11.ts
#EXTINF:2.500000,
index12.ts
#EXT-X-ENDLIST

ffplayลองเล่นกับ
Ipor Sircer

ฉันควรใส่ URL ใดลงในคำสั่ง ffplay? ฉันสามารถป้อนไฟล์. m3u8 ได้โดยตรงหรือไม่
Vincent Bavaro

@VincentBavaro: ใช่คุณทำได้ บังเอิญทำไมไม่ลองก่อนถาม
sleske

เสร็จแล้ว มันแสดงให้ฉันเห็นวิดีโอโดยไม่มีปัญหา ขอบคุณ เบาะแสใด ๆ ที่มันไม่เล่นกับ vlc tho?
Vincent Bavaro

คำตอบ:


1

tl; dr: ดูเหมือนว่าบั๊กกับ VLC ใช้โปรแกรมเล่นอื่น

ฉันสามารถทำซ้ำปัญหานี้ด้วยชุดไฟล์วิดีโอ HLS ที่สร้างขึ้นตามffmpegที่ระบุในคำถาม นั่นคือกับ ffmpeg 4.0.2 และ VLC 3.0.4

อาการ:

เปิด.m3u8ไฟล์ด้วย VLC ฉันได้รับข้อความแสดงข้อผิดพลาด:

ข้อผิดพลาดของการปรับตัว demux: ล้มเหลวในการสร้าง demuxer (ไม่มี) TLS

บันทึกการตรวจแก้จุดบกพร่องระบุว่า VLC ประสบความสำเร็จในการอ่านเพลย์ลิสต์และค้นหาไฟล์ TS แต่แล้วมีบางอย่างผิดปกติ

อย่างไรก็ตามฉันสามารถเล่นไฟล์ที่มีทั้งffplayและMPlayerได้สำเร็จดูเหมือนว่าข้อบกพร่องจะเกิดขึ้นกับ VLC

ตัวติดตามบั๊ก VLC มีรายงานบั๊กคล้ายกัน แต่ส่วนใหญ่ค่อนข้างเก่าและแก้ไขตามที่คาดคะเน ฉันจัดการเล่นสตรีม HLS ผ่าน HTTP โดยเปิด URL ของ.m3u8ไฟล์ดังนั้นข้อผิดพลาดดูเหมือนจะใช้กับสตรีม HLS ที่ดาวน์โหลดมาเท่านั้น บางทีการเล่น.m3u8ไฟล์ที่ดาวน์โหลดในเครื่องอาจไม่ใช่ลำดับความสำคัญสูงสำหรับ VLC ดังนั้นให้ใช้เครื่องเล่นอื่น


ถูก จริง ๆ แล้วเมื่อมองอย่างใกล้ชิดหลังจาก vlc เปิดขึ้นฉันสามารถดูระยะเวลาวิดีโอสั้น ๆ กระพริบเป็น 26 วินาทีก่อนที่มันจะกลับไปที่ 0 ดังนั้นฉันจึงควรที่ vlc ของฉันก็สามารถอ่านไฟล์ได้ตลอดไป ฉันจะพยายามอัปโหลดสตรีมโดยใช้เว็บเซิร์ฟเวอร์ apache และดูว่า vlc จะทำเช่นเดียวกันกับ URL
Vincent Bavaro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.