1

Я создал видеоклип с помощью ffmpeg (vcodec: mpeg2video , acodec: AC3 5.1).

Файл можно нормально воспроизводить в Ubuntu, но когда я играю на компьютере с XP, звука нет. Я могу воспроизводить файлы AC3 и другие фильмы со звуком AC3. Я уже пробовал много пакетов кодеков и много игроков.

Когда я сравниваю вкладку MediaInfo окна «Свойства» файла с другим воспроизводимым фильмом, я вижу, что аудиоидентификатор аудиопотока в моем файле равен 0x80 а в другом фильме - 0x02 .

Поэтому я думаю, что именно поэтому игроки на XP не могут распознать аудиокодек. Когда я использую контейнер MKV вместо MPEG (все еще кодек mpeg2video ), то результат будет удовлетворительным как в Ubuntu, так и в XP (с правильным идентификатором аудио). Мне действительно нужен MPEG, хотя.

Любая идея?

Это команда, которую я использовал:

~/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

Это вывод mediainfo (в 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%)

1 ответ1

0

После долгого времени борьбы с проблемой я нашел способ обойти:

сначала кодируй, используя ffmpeg без звука

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

затем используйте mencoder для объединения видео и звука

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

Вывод из mediainfo остается почти таким же, как и раньше, но звук теперь в порядке. Я не знаю почему. Я попытался сравнить два файла с cmp, но слишком много различий, поэтому я ничего не мог понять.

Я надеюсь, что в будущем я смогу использовать ffmpeg, чтобы сделать все за один шаг.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .