2013-07-28 35 views
10

Tôi có một luồng trực tiếp ở định dạng .ts, chứa video AAC âm thanh và H.264. Tôi muốn phát trên thiết bị iOS. Tôi đã cố gắng sử dụng a movie player based on FFmpeg để giải mã và phát video nhưng âm thanh bị trễ.Làm thế nào để chuyển đổi (re-wrap) Transport Stream sang MPEG-4 container trong ứng dụng iOS?

Tôi có thể tua lại Dòng truyền tải này vào vùng chứa MPEG-4 để phát trên thiết bị iOS - mà không cần chuyển đổi phía máy chủ không?

Máy chủ trả lại cho tôi URL của luồng trực tiếp .ts và mục tiêu của tôi là phát luồng này trên thiết bị iOS mà không có danh sách phát .m3u8 vì tôi không thể tải nó từ máy chủ.

+0

nhờ trả lời, tôi đã chỉnh sửa bài. Nếu bạn có bất kỳ gợi ý nào cho câu hỏi của tôi, vui lòng viết nó. –

+0

Cảm ơn bạn đã làm rõ, nhưng vẫn chưa rõ bạn đang làm gì - bạn đã có ứng dụng hay một số mã iOS để tìm nạp TS chưa? Bạn đã thử sử dụng thư viện FFmpeg? Vì đây là một trang web Q & A lập trình, các câu hỏi thường được dự kiến ​​sẽ chứa một số mã và một vấn đề cụ thể mà bạn đang gặp phải. – slhck

+0

Tôi đã xây dựng FFmpeg và sử dụng ứng dụng ví dụ mà tôi đã chèn liên kết tới TS. Ngoài ra tôi đã cố gắng để tạo ra tập tin trên máy chủ, liên kết bọc để TS trong M3U8 playlist như thế này: # EXTM3U #EXTINF: -1, URL # EXT-X-ENDLIST Và sau đó chơi các tập tin được tạo ra với MPMoviePlayer, nhưng chỉ có âm thanh được chơi và logo QuickTime đã được trình bày. –

Trả lời

15

Để chỉ cần tái MUX mà không cần chuyển mã, bạn có thể sử dụng: ffmpeg -i input.ts -acodec copy -vcodec copy out.mp4

+2

OP muốn làm điều đó trong ứng dụng iOS, vì vậy tôi cho rằng không có CLI 'ffmpeg' nào khả dụng. – slhck

+0

Từ nhận xét mới nhất từ ​​OP, có vẻ như anh ta đã xây dựng ffmpeg. – d33pika

+0

... như một công cụ CLI, hoặc chỉ các thư viện tĩnh được sử dụng với API? Tôi không biết. – slhck