2015-11-16 2 views
1

Я использую ffmpeg для извлечения аудио из файла транспортного потока MPEG, записанного на карте DVB-S. Команда:Извлечь аудио из транспортного потока и сохранить длину

ffmpeg -i video.ts -vn audio.wav 

Исходный файл, кажется, поврежден. Я заметил, что коррупция происходит время от времени, особенно для видео продолжительностью более 1 часа. У меня есть ошибки, подобные этим:

[mp2 @ 0x1bb5500] Header missing 
Error while decoding stream #0:1 
[mpegts @ 0x17eaf40] Continuity check failed for pid 5261 expected 2 got 6 

Проблема заключается в том, что в результате audio.wav короче исходного видео (40m33s и 40m59s соответственно). Я ищу способ сохранить исходную длину в результирующем аудио файле.

Я попробовал недавнюю ffmpeg под Windows и avconv под Ubuntu, формат вывода был MP3 и WAV. Для каждого случая у меня такие же результаты.

ответ

0

Я не нашел, можно ли это сделать с помощью ffmpeg, однако я нашел ProjectX - инструмент, который пытается исправить сломанный поток TS. Веб-сайт: http://project-x.sourceforge.net/

С:

java -jar ProjectX.jar -demux my_video.ts 

поток демультиплексированные в аудио и видео файлы, которые гарантированно имеют одинаковую длину. Я просто перемещаю их обратно, используя ffmpeg.