ffmpeg: tệp video phát OK trên Ubuntu, nhưng không có âm thanh trên XP


1

Tôi đã tạo một video clip bằng cách sử dụng ffmpeg ( vcodec: mpeg2video, acodec: AC3 5.1).

Tệp có thể được phát bình thường trên Ubuntu, nhưng khi tôi phát nó trên máy XP, không có âm thanh. Tôi có thể phát các tệp AC3 và các phim khác có âm thanh AC3. Tôi đã thử nhiều gói codec và nhiều người chơi.

Khi tôi so sánh tab MediaInfo của cửa sổ Thuộc tính của tệp với một phim có thể phát khác, tôi thấy rằng Mã nhận dạng âm thanh của luồng âm thanh trong tệp của tôi nằm 0x80trong 0x02phim khác.

Vì vậy, tôi đoán đó là lý do tại sao người chơi trên XP không thể nhận ra codec âm thanh. Khi tôi sử dụng bộ chứa MKV thay vì MPEG (vẫn là mpeg2videocodec), thì kết quả sẽ ổn trên cả Ubuntu và XP (với ID âm thanh chính xác). Tôi thực sự cần MPEG mặc dù.

Ý tưởng nào không?

Đây là lệnh tôi đã sử dụng:

~/ffmpeg/ffmpeg/ffmpeg -loop_input \
  -t 97 -r 30000/1001 -i v%4d.tga -i final.ac3 \
  -vcodec mpeg2video -qscale 1 -s 400x400 -r 30000/1001 \
  -acodec copy -y out6.mpeg 2

Đây là đầu ra của mediainfo (trên Ubuntu):

General
Complete name                    : out6.mpeg
Format                           : MPEG-PS
File size                        : 6.86 MiB
Duration                         : 1mn 37s
Overall bit rate                 : 593 Kbps

Video
ID                               : 224 (0xE0)
Format                           : MPEG Video
Format version                   : Version 2
Format profile                   : Main@Main
Format settings, BVOP            : No
Format settings, Matrix          : Default
Format_Settings_GOP              : M=1, N=12
Duration                         : 1mn 37s
Bit rate mode                    : Variable
Bit rate                         : 122 Kbps
Width                            : 400 pixels
Height                           : 400 pixels
Display aspect ratio             : 1.000
Frame rate                       : 29.970 fps
Resolution                       : 8 bits
Colorimetry                      : 4:2:0
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.025
Stream size                      : 1.41 MiB (21%)

Audio
ID                               : 128 (0x80)
Format                           : AC-3
Format/Info                      : Audio Coding 3
Duration                         : 1mn 36s
Bit rate mode                    : Constant
Bit rate                         : 448 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Side: L R, LFE
Sampling rate                    : 44.1 KHz
Stream size                      : 5.18 MiB (75%)

Những người chơi bạn đã thử trên Windows? Ví dụ trong VLC, nó nói gì trong cửa sổ "Thông tin" về tệp của bạn? Bạn thấy gì dưới Audio »Audio Track hoặc Kênh ?
slhck

Xin chào slhck, tôi đã thử VLC, Nero, WMP, WM Classic. Cửa sổ thông tin của VLC không chứa bất cứ thứ gì (ngoại trừ tên tệp). Nhưng tab Codecs hiển thị một danh sách dài 110 luồng. Cái đầu tiên là video với codec MPEG2, thứ hai là phụ đề, những cái khác là âm thanh với các codec khác nhau. Menu Bản nhạc hiển thị 18 bản nhạc có dấu kiểm trên Bản nhạc 1.
Andy Le

110 luồng? Chắc chắn có điều gì đó không đúng ở đó. Tôi không thể nghĩ ra bất cứ điều gì khác để thử vào lúc này. Tôi tự hỏi nếu VLC hiển thị tương tự trên Ubuntu?
slhck

Thật ngạc nhiên, trên Ubuntu, tab Codecs hiển thị 37 luồng, trong khi menu Bản nhạc hiển thị 22 bản nhạc :) Có lẽ đây là lỗi của ffmpeg?
Andy Lê

Rất có thể được! Bạn có phiên bản mới nhất?
slhck

Câu trả lời:


0

Sau một thời gian dài vật lộn với vấn đề, tôi đã tìm ra cách để giải quyết:

mã hóa đầu tiên bằng cách sử dụng ffmpeg mà không có âm thanh

ffmpeg -loop_input -t 97 -r 30000/1001 -i v%4d.tga -s 400x400 \
-vcodec mpeg2video -acodec copy -f mpeg -y -r 30000/1001 test7.mpeg

sau đó sử dụng mencoder để hợp nhất video và âm thanh

mencoder -of mpeg -ovc copy test7.mpeg \
-audiofile Final.ac3 -oac copy -o test8.mpeg

Đầu ra từ mediainfo vẫn gần như trước đây, nhưng âm thanh bây giờ đã ổn. Tôi không biết tại sao. Tôi đã cố so sánh hai tệp với cmp, nhưng có quá nhiều sự khác biệt nên tôi không thể tìm ra bất cứ điều gì.

Tôi hy vọng trong tương lai tôi có thể sử dụng ffmpeg để làm tất cả trong một bước.

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.