FMUSER უფრო მარტივად გადასცემს ვიდეოს და აუდიოს!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> აფრიკული
sq.fmuser.org -> ალბანური
ar.fmuser.org -> არაბული
hy.fmuser.org -> სომხური
az.fmuser.org -> აზერბაიჯანული
eu.fmuser.org -> ბასკური
be.fmuser.org -> ბელორუსული
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> კატალანური
zh-CN.fmuser.org -> ჩინური (გამარტივებული)
zh-TW.fmuser.org -> ჩინური (ტრადიციული)
hr.fmuser.org -> ხორვატული
cs.fmuser.org -> ჩეხური
da.fmuser.org -> დანიური
nl.fmuser.org -> ჰოლანდიური
et.fmuser.org -> ესტონური
tl.fmuser.org -> ფილიპინური
fi.fmuser.org -> ფინური
fr.fmuser.org -> ფრანგული
gl.fmuser.org -> გალური
ka.fmuser.org -> ქართული
de.fmuser.org -> გერმანული
el.fmuser.org -> ბერძნული
ht.fmuser.org -> ჰაიტიური კრეოლური
iw.fmuser.org -> ებრაული
hi.fmuser.org -> ჰინდი
hu.fmuser.org -> Hungarian
is.fmuser.org -> ისლანდიური
id.fmuser.org -> ინდონეზიური
ga.fmuser.org -> ირლანდიური
it.fmuser.org -> იტალიური
ja.fmuser.org -> იაპონური
ko.fmuser.org -> კორეული
lv.fmuser.org -> ლატვიური
lt.fmuser.org -> ქართული
mk.fmuser.org -> მაკედონური
ms.fmuser.org -> მალაიზიური
mt.fmuser.org -> მალტური
no.fmuser.org -> ნორვეგიული
fa.fmuser.org -> სპარსული
pl.fmuser.org -> პოლონური
pt.fmuser.org -> პორტუგალიური
ro.fmuser.org -> რუმინული
ru.fmuser.org -> რუსული
sr.fmuser.org -> სერბული
sk.fmuser.org -> სლოვაკური
sl.fmuser.org -> Slovenian
es.fmuser.org -> ესპანური
sw.fmuser.org -> სუაჰილი
sv.fmuser.org -> შვედური
th.fmuser.org -> Thai
tr.fmuser.org -> თურქული
uk.fmuser.org -> უკრაინული
ur.fmuser.org -> ურდუ
vi.fmuser.org -> ვიეტნამური
cy.fmuser.org -> უელსური
yi.fmuser.org -> Yiddish
HLS და Http Live Streaming არის პროტოკოლები რეალურ დროში სტრიმინგისთვის, რომლებიც განსაზღვრულია Apple– ის მიერ. HLS ხორციელდება HTTP პროტოკოლის საფუძველზე. გადაცემის შინაარსი მოიცავს ორ ნაწილს, ერთი არის M3U8 აღწერილობის ფაილი, ხოლო მეორე არის TS მედია ფაილი.
1. M3U8 ფაილი
მედია ფაილი აღწერილია ტექსტში, რომელიც შედგება თეგების სერიისაგან.
#EXTM3U
# EXT-X- მიზანი: 5
#EXTINF: 5,
./0.წ
#EXTINF: 5,
./1.წ
# EXTM3U: თითოეული M3U8 ფაილის პირველი სტრიქონი უნდა იყოს ეს ნიშანი.
# EXT-X-TARGETDURATION: მიუთითეთ მედია სეგმენტის მაქსიმალური ხანგრძლივობა (წამები). #EXTINF- ში მითითებული დროის სიგრძე უნდა იყოს ამ მაქსიმალური მნიშვნელობის ნაკლები ან ტოლი. ეს მნიშვნელობა შეიძლება მხოლოდ ერთხელ გამოჩნდეს.
#EXTINF: აღწერეთ ერთი მედია ფაილის სიგრძე. მიჰყვება მედია ფაილები, როგორიცაა ./0.ts
მისი გავრცელება შესაძლებელია HTTP– ით iOS მოწყობილობაზე და მაკ – ზე. დასაკრავი სიის სტანდარტი არის m3u8 ფაილი, გაფართოებული m3u- ით და მედია ფაილი არის MPEG2-TS ან AAC ფაილი (მხოლოდ აუდიო).
M3u8 ფაილებისთვის არსებობს ორი განაცხადის სცენარი:
მრავალპროცენტიანი ადაპტაციის ნაკადი,
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 1, გამტარუნარიანობა = 1280000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, გამტარუნარიანობა = 2560000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, გამტარუნარიანობა = 7680000
# EXT-X-STREAM-INF: PROGRAM-ID = 1, BANDWIDTH = 65000, CODECS = "mp4a.40.5"
http://example.com/audio-only.m3u8
ერთიანი სიჩქარის ადაპტაციის ნაკადი
#EXTM3U
# EXT-X- მიზანი: 5220
#EXTINF: 5220,
http://media.example.com/entire.ts
# EXT-X-ENDLIST
სტანდარტების საერთაშორისო ორგანიზაცია განსაზღვრავს ამ დოკუმენტს:
http://tools.ietf.org/html/draft-pantos-http-live-streaming-06
M3u8 ფაილი არის m3u ფაილის გაფართოება. გაფართოებული საკვანძო სიტყვები განისაზღვრება rfc- ში:
მათ შორის:
# EXT-X- მიზანი
განსაზღვრეთ თითოეული TS– ის მაქსიმალური ხანგრძლივობა.
# EXT-X-MEDIA- თანმიმდევრობა
განსაზღვრეთ პირველი ფაილის სერიული ნომერი მიმდინარე m3u8 ფაილში. თითოეულ ts ფაილს აქვს m3u8 ფაილში ფიქსირებული და უნიკალური სერიული ნომერი. სერიული ნომერი გამოიყენება MBR- ის გასწორების კოდის სიჩქარის შესაცვლელად.
# EXT-X- გასაღები
განსაზღვრეთ გასაღების ფაილის დაშიფვრის მეთოდი და url, რომელიც გამოიყენება 16 ბაიტიანი გასაღების ფაილის მისაღებად ts ფაილის დეკოდირებისთვის.
ატრიბუტები:
METHOD
URL
# EXT-X- პროგრამა - თარიღის დრო
პირველი ფაილის აბსოლუტური დრო
# EXT-X-ALLOW-CACHE
ქეშის დაშვება.
# EXT-X-ENDLIST
მიუთითებს m3u8 ფაილის ბოლოს. ცოცხალ m3u8- ს არ აქვს ეს ნიშანი.
# EXT-X-STREAM-INF
ატრიბუტები:
BANDWIDTH განსაზღვრავს ბიტის სიჩქარეს
PROGRAM-ID უნიკალური ID
CODECS განსაზღვრავს ნაკადის კოდირების ტიპს
# EXT-X- შეუწყვეტლობა
როდესაც ტეგი გვხვდება, შეიცვალა შემდეგი ატრიბუტები:
ფაილის ფორმატი
ტრეკების რაოდენობა და ტიპი
კოდირების პარამეტრები
კოდირების თანმიმდევრობა
დროის ნიშნის თანმიმდევრობა
# EXT-X-VERSION ეს ატრიბუტი შეიძლება გამოყენებულ იქნას თუ არა, არცერთი არ შეიძლება
M3U8 იყოფა ზედა დონის M3U8 და მეორე დონის M3U8. ზედა დონის M3U8 ძირითადად გამოიყენება მრავალპროცენტიანი ადაპტაციისთვის. მეორე დონის M3U8 არის რეალური ნაჭერი ფაილი.
სტანდარტულად, კლიენტი პირველ რიგში აირჩევს მოთხოვნას ყველაზე მაღალი სიჩქარით. თუ აღმოაჩენს, რომ ბიტრეიტის მიღწევა შეუძლებელია, ის ითხოვს ნაკადის სიჩქარეს
უმაღლესი დონის M3U8 ფაილი ფაქტობრივად გამოიყენება შემდეგნაირად:
#EXTM3U
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, გამტარუნარიანობა = 358400
11.m3u8
# EXT-X-STREAM-INF: PROGRAM-ID = 201273221265, გამტარუნარიანობა = 972800
22.m3u8
ზემოთ მოყვანილი მაღალი დონის M3U8 ფაილი განსაზღვრავს ორ მეორე დონის ფაილს, 11.m3u8 და 22.m3u8, და კლიენტი აირჩევს ერთ-ერთ მათგანს მისი შინაარსის მისაღებად.
საშუალო M3U8 ფაილის შინაარსი ასეთია:
#EXTM3U
# EXT-X-VERSION: 1
# EXT-X- მიზანი: 10
# EXT-X-MEDIA- თანმიმდევრობა: 0
#EXTINF: 3,
1-4.წ.
#EXTINF: 8,
1-6.წ.
#EXTINF: 8,
1-8.წ.
#EXTINF: 8,
1-10.წ.
#EXTINF: 8,
1-12.წ.
#EXTINF: 8,
1-14.წ.
#EXTINF: 8,
1-16.წ.
#EXTINF: 9,
1-18.წ.
#EXTINF: 6,
1-20.წ.
#EXTINF: 8,
1-22.წ.
#EXTINF: 9,
1-24.წ.
#EXTINF: 3,
1-26.წ.
# EXT-X-ENDLIST
მას შემდეგ, რაც კლიენტი მიიღებს ზემოხსენებულ M3U8 ფაილს, ის განაგრძობს ფაილის მოთხოვნას შიგნით, შემდეგ კი მისი დაკვრა შეიძლება.
ზემოთ მოცემულია მოთხოვნადი სიტუაციისა და პირდაპირი მაუწყებლობის მდგომარეობის შესახებ. M3U8 ფაილში იქნება ატრიბუტები იმის შესახებ, რომ ის პირდაპირ ეთერშია და კლიენტი პერიოდულად ითხოვს ახალ M3U8 ფაილებს.
// როდესაც HLS აცნობიერებს მოთხოვნას და პირდაპირ ტრანსლაციას, M3U8 ფაილის სხვაობა
1. პრობლემის აღწერა
ცოტა ხნის წინ გავაკეთე ტრანსკოდირებული ნაჭრის დაკვრის ტესტი, HLS (HTTP Live Streaming) გამოყენებით, პირდაპირი ტრანსლაციისთვის. თითოეული TS სეგმენტაციის დროა 10 წმ, ხოლო შემდეგი ცოცხალი m3u8 ფაილი წარმოიქმნება TS სეგმენტაციის ფაილების შესაბამისად
დააკოპირე კოდი
#EXTM3U
# EXT-X-MEDIA- თანმიმდევრობა: 1
# EXT-X- მიზანი: 10
# EXTINF: 10
hls / 1.ts
# EXTINF: 10
hls / 2.ts
# EXTINF: 10
hls / 3.ts
# EXTINF: 10
hls / 4.ts
# EXTINF: 10
hls / 5.ts
# EXTINF: 10
hls / 6.ts
# EXTINF: 10
hls / 7.ts
# EXTINF: 10
hls / 8.ts
# EXTINF: 10
hls / 9.ts
# EXTINF: 10
hls / 10.ts
დააკოპირე კოდი
ზემოთ m3u8 ფაილი შეინახეთ როგორც live.m3u8, ჩადეთ Apache დოკუმენტის დირექტორიაში და ითამაშეთ შემდეგი URL VLC– ით:
http://localhost/live.m3u8
ტესტის შედეგად დადგინდა, რომ პირველი ფაილი, რომლის თამაშიც დაიწყო, არ იყო 1.ts. რამდენიმე ტესტის შემდეგ გაირკვა, რომ:
სანამ სიაში არის სამზე მეტი ფაილი, სიაში ბოლო სამი ფაილი ყოველთვის თამაშდება
2. პრობლემის გადაჭრა
ძალიან სამწუხაროა, რომ ინტერნეტის ძებნის შემდეგ, ვერ ვიპოვე რაიმე ეფექტური ინფორმაცია. ძმაკაცს იგივე სიტუაცია შეექმნა, გაუნაწილა თავისი გამოცდილება მისი გადაჭრის შემდეგ?
კოლეგასთან კონსულტაციის შემდეგ, კოლეგამ თქვა, რომ ეს შესაძლებელია, რადგან Live m3u8 ფაილების სია რეალურ დროში უნდა განახლდეს. ტესტის გაკეთების შემთხვევაში, პირველ რიგში შეგვიძლია დავამატოთ # EXT-X-ENDLIST. ეს მეთოდი შემოწმებულია. მუშაობს, მაგრამ ეს აღარ არის ცოცხალი m3u8 რეჟიმი
ინტერნეტში ხელახლა ძებნის შემდეგ დავადასტურე, რომ საბოლოოდ ვიპოვნე m3u8 ცოცხალი აღწერა
ცოცხალი დასაკრავი სია (მოცურების ფანჯარა)
პირდაპირი სესიებისთვის ინდექს ფაილის განახლება ხდება ფაილში მედია URI– ების ამოღებით, რადგან იქმნება და ხელმისაწვდომი ხდება ახალი მედია ფაილები.
მნიშვნელოვანია: EXT-X-ENDLIST ტეგი არ არის Live პლეილისტში, რაც მიუთითებს იმაზე, რომ ახალი მედია ფაილები დაემატება ინდექს ფაილს, როდესაც ისინი ხელმისაწვდომი გახდება.
ცოცხალი დასაკრავი სიის მაგალითზე იხილეთ ჩამონათვალი 3, როგორც ეს გამოჩნდება სესიის დასაწყისში.
ჩამოთვალეთ 3 პირდაპირი დასაკრავი სია სესიის დასაწყისში.
დააკოპირე კოდი
#EXTM3U
# EXT-X- მიზანი: 10
# EXT-X-VERSION: 3
# EXT-X-MEDIA- თანმიმდევრობა: 1
#EXTINF: 10,
fileSekuence1.ts
#EXTINF: 10,
fileSekuence2.ts
#EXTINF: 10,
fileSekuence3.ts
#EXTINF: 10,
fileSekuence4.ts
#EXTINF: 10,
fileSekuence5.ts
დააკოპირე კოდი
EXT-X-MEDIA-SEQUENCE თეგის ღირებულება უნდა გაიზარდოს 1-ით ყველა მედია URI- სთვის, რომელიც ამოღებულია დასაკრავი სიის ფაილიდან. მედია URI უნდა წაიშალოს დასაკრავი სიის ფაილიდან, რათა ისინი გამოჩნდეს დასაკრავ სიაში. განახლებული ინდექს ფაილი წარმოადგენს მოძრავ ფანჯარას უწყვეტ ნაკადში. ამ ტიპის სესია შესაფერისია უწყვეტი მაუწყებლობისთვის.
ახალი მედია URI– ებით განახლების შემდეგ, იგივე პლეილისტია:
ჩამოთვალეთ 4 ცოცხალი ფლეილისტი მედია URI- ს განახლების შემდეგ.
დააკოპირე კოდი
#EXTM3U
# EXT-X- მიზანი: 10
# EXT-X-VERSION: 3
# EXT-X-MEDIA- თანმიმდევრობა: 2
#EXTINF: 10,
fileSekuence2.ts
#EXTINF: 10,
fileSekuence3.ts
#EXTINF: 10,
fileSekuence4.ts
#EXTINF: 10,
fileSekuence5.ts
#EXTINF: 10,
fileSekuence6.ts
დააკოპირე კოდი
3. ცოცხალი m3u8 განახლების წესები
პირდაპირი m3u8 ფაილების სია მუდმივად უნდა განახლდეს, განახლების წესები:
წაშალეთ ზედა (იფიქრეთ დაკვრა) ფაილი ფაილის სიაში
განუწყვეტლივ განაახლეთ EXT-X-MEDIA-SEQUENCE ტეგი, გაზრდით 1-ით
4. ექსპერიმენტი
დაწერეთ მცირე პროგრამა ცოცხალი m3u8 წარმოქმნის ტესტირებისთვის
გამოყენება:
m3u8_gen.exe start_num list_count ხანგრძლივობა ფაილის სახელი. m3u8 [პრეფიქსი]
გამოყენების მაგალითი:
m3u8_gen.exe 1 3 10 ცოცხალი. m3u8 სლ /
გენერირება live.m3u8 ფაილი როგორც
დააკოპირე კოდი
#EXTM3U
# EXT-X-MEDIA- თანმიმდევრობა: 1
# EXT-X- მიზანი: 10
# EXTINF: 10
hls / 1.ts
# EXTINF: 10
hls / 2.ts
# EXTINF: 10
hls / 3.ts
დააკოპირე კოდი
დაწერეთ BAT სკრიპტი live.m3u8 ფაილის განახლებისთვის ყოველ 10 წამში
დააკოპირე კოდი
@ ეხო off
f
|
შეიყვანეთ ელ.წერილი სიურპრიზის მისაღებად
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> აფრიკული
sq.fmuser.org -> ალბანური
ar.fmuser.org -> არაბული
hy.fmuser.org -> სომხური
az.fmuser.org -> აზერბაიჯანული
eu.fmuser.org -> ბასკური
be.fmuser.org -> ბელორუსული
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> კატალანური
zh-CN.fmuser.org -> ჩინური (გამარტივებული)
zh-TW.fmuser.org -> ჩინური (ტრადიციული)
hr.fmuser.org -> ხორვატული
cs.fmuser.org -> ჩეხური
da.fmuser.org -> დანიური
nl.fmuser.org -> ჰოლანდიური
et.fmuser.org -> ესტონური
tl.fmuser.org -> ფილიპინური
fi.fmuser.org -> ფინური
fr.fmuser.org -> ფრანგული
gl.fmuser.org -> გალური
ka.fmuser.org -> ქართული
de.fmuser.org -> გერმანული
el.fmuser.org -> ბერძნული
ht.fmuser.org -> ჰაიტიური კრეოლური
iw.fmuser.org -> ებრაული
hi.fmuser.org -> ჰინდი
hu.fmuser.org -> Hungarian
is.fmuser.org -> ისლანდიური
id.fmuser.org -> ინდონეზიური
ga.fmuser.org -> ირლანდიური
it.fmuser.org -> იტალიური
ja.fmuser.org -> იაპონური
ko.fmuser.org -> კორეული
lv.fmuser.org -> ლატვიური
lt.fmuser.org -> ქართული
mk.fmuser.org -> მაკედონური
ms.fmuser.org -> მალაიზიური
mt.fmuser.org -> მალტური
no.fmuser.org -> ნორვეგიული
fa.fmuser.org -> სპარსული
pl.fmuser.org -> პოლონური
pt.fmuser.org -> პორტუგალიური
ro.fmuser.org -> რუმინული
ru.fmuser.org -> რუსული
sr.fmuser.org -> სერბული
sk.fmuser.org -> სლოვაკური
sl.fmuser.org -> Slovenian
es.fmuser.org -> ესპანური
sw.fmuser.org -> სუაჰილი
sv.fmuser.org -> შვედური
th.fmuser.org -> Thai
tr.fmuser.org -> თურქული
uk.fmuser.org -> უკრაინული
ur.fmuser.org -> ურდუ
vi.fmuser.org -> ვიეტნამური
cy.fmuser.org -> უელსური
yi.fmuser.org -> Yiddish
FMUSER უფრო მარტივად გადასცემს ვიდეოს და აუდიოს!
კონტაქტები
მისამართი:
No.305 ოთახი HuiLan კორპუსი No.273 Huanpu Road Guangzhou China 510620
კატეგორიები
საინფორმაციო ბიულეტენი