2011-12-07 43 views
5

Phần cứng mà chúng tôi đang làm việc trên không hỗ trợ phát tệp mkv. Vì vậy, tôi bắt buộc phải chuyển mã video Matroska (mkv) thành tập tin video mp4.Gstreamer: chuyển mã Matroska video sang mp4

Như tôi đã hiểu từ các vật liệu có sẵn trực tuyến trên chuyển mã, tôi cần phải làm như sau:

  1. tách ra dòng khác nhau của tập tin mkv sử dụng matroskademux phần tử.
  2. giải mã luồng âm thanh và video thành định dạng thô bằng bộ giải mã mkv có sẵn và
    cung cấp dữ liệu này cho phần tử Muxer mp4 và mã hóa lại thành định dạng bắt buộc.

Có ai vui lòng cho tôi biết nếu tôi áp dụng đúng cách tiếp cận không? Mọi thông tin/liên kết về điều này sẽ rất hữu ích.

vikram

Trả lời

4

Tùy thuộc vào những gì có trong file Matroska bạn có thể không cần phải giải mã nó ở tất cả, chỉ cần remux.

Tôi cho rằng video chẳng hạn là H264, vì vậy chỉ cần remux lại. Dưới đây là một ví dụ điển hình cho gst-launch cho remuxing một tập tin với h264 và mp3.

gst-launch-0.10 -v filesrc location=$file \ 
! matroskademux name="demux" demux. ! h264parse ! queue \ 
! mp4mux name=mux ! filesink location=$file._out.mp4 demux. \ 
! mp3parse ! queue ! mux.` 

Bạn cũng có thể xem số Transmageddon transcoder (www.linuxrising.org) sẽ cung cấp cho bạn những gì bạn muốn.

+0

Cảm ơn bạn đã trả lời. Tôi có thêm một truy vấn: Với lệnh trên mà bạn đã đề cập đến, tôi có thể lưu lại mkv thành mp4 trong trường hợp luồng âm thanh là mp3. Nếu mkv có luồng âm thanh aac thì tôi cố gắng sử dụng aacparser.somehow hàng đợi của đường ống không được liên kết với phần tử aacparse. Trong một trong các bài viết liên quan đến aacparse, nó được đề cập rằng nếu trường "khung" trong dòng âm thanh được đặt thành true, thì phần tử "aacparse" không thành công để liên kết với hàng đợi đường ống. Trong trường hợp này, tôi có cần giải mã luồng âm thanh thành định dạng thô hay không và sau đó mã hóa lại nó để khớp với phần tử mp4mux sink? –

+0

Đã có rất nhiều bản sửa lỗi cho các trình phân tích cú pháp trong GStreamer git, mục tiêu là có bản phát hành mới trong vài tuần tới và những bản sửa lỗi đó sẽ khắc phục được sự cố của bạn. –

Các vấn đề liên quan