Kết hợp các phân đoạn TS video và âm thanh đến từ luồng HLS


7

Apple HLS truyền các tệp MPEG-2 TS chứa dữ liệu video và âm thanh ở định dạng luồng sơ cấp được đóng gói. Các phân đoạn ( .tstệp) này có thể được tham gia để xây dựng video cuối cùng.

Phiên bản gần đây của HLS hiện có thể tạo các phân đoạn chỉ có dữ liệu video trong tệp TS và dữ liệu âm thanh chỉ trong các tệp TS khác. Điều này được sử dụng để phục vụ video đa ngôn ngữ.

Bất kể bản thân HLS, làm cách nào tôi có thể xử lý để làm lại các tệp TS chứa dữ liệu video và dữ liệu âm thanh trong một tệp TS? Kết hợp các tệp TS với nhau không hoạt động; Tôi nhận dữ liệu từ tệp TS đầu tiên kết hợp với cùng loại dữ liệu từ các tệp TS tiếp theo (chỉ video hoặc âm thanh).


Tôi không biết đủ để đưa ra một giải pháp thực tế, nhưng một số cách đọc dường như cho thấy FFMPEG có thể giải quyết vấn đề này.
AJ Henderson

Tôi chỉ kiểm tra và có, bạn đúng. FFmpeg xử lý HLS với nhiều rãnh âm thanh. Tôi sẽ xem xét nguồn bây giờ.
Velcro

Câu trả lời:


3

Bạn có thể sử dụng tsMuxer để thêm luồng âm thanh từ một tệp .ts vào tệp .ts chứa video hoặc ngược lại. Điều này được gọi là muxing và không ảnh hưởng đến chất lượng âm thanh hoặc video theo bất kỳ cách nào.


1

Bạn có một m3u8tập tin? Nếu vậy, tôi giả sử bạn có thể làm

ffmpeg -i indexfile.m3u8 -acodec copy -vcodec copy output.ts

Bạn cũng có thể chuyển đổi nó trực tiếp vào thùng chứa mp4:

ffmpeg -i indexfile.m3u8 -acodec copy -vcodec copy output.mp4

Điều này không làm việc khi indexfile.m3u8 có một url riêng biệt cho âm thanh và một url riêng biệt cho video_01.m3u8
chovy

@chovy: Bạn có thể cho tôi xem tập tin đó không? Tôi nghĩ rằng nó có thể hoạt động với tùy chọn -mapvà có thể là tùy chọn thứ hai -icó cùng tệp đầu vào (trong trường hợp của bạn video_01.m3u8).
erik

nó hoạt động nếu tôi làmffmpeg -i <audio-stream> -i <video-stream> -async 1 -c copy test.m3u8
chovy
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.