Это в основном вопрос, связанный с параметрами mplayer (1). (Потому что я не знаю, где искать в документах)

Учитывая, что у каждого есть отрывок аудио, начинающийся с -ss 43:20, как извлечь звуковой дамп (с -o pcm), начинающийся в этой точке, до относительной точки, заканчивающейся в +1мин, 30сек или заканчивающейся в абсолютной точке в 44:50?

1 ответ1

1

mplayer input.mp3 -ao pcm -ao pcm:file = tmp.wav -ss 5 -endpos 7

Это сохранит от 5 до 7 секунд файла в tmp.wav. Я не знаю, как сделать это с относительным временем окончания, но если вы поместите это в сценарий, то вы сможете вычислить это довольно легко.

Пример сценария для преобразования различий в точную метку времени:

#!/usr/bin/env python

import sys
import datetime

start = sys.argv[1]
diff = sys.argv[2]

def parse_ts(x):
    bits = [int(a) for a in x.split(":")]
    while len(bits) < 3:
        bits = [0] + bits
    return datetime.timedelta(hours=bits[0],
                              minutes=bits[1],
                              seconds=bits[2])

end = datetime.datetime(2000, 1, 1) + parse_ts(start) + parse_ts(diff)

print end.strftime("%H:%M:%S")

Если вы вызовете этот date.py, то это сэкономит 42 минуты и 23 секунды звука:

mplayer input.mp3 -ao pcm -ao pcm:file = tmp.wav -ss 1:23:5 -endpos $(python date.py 1:23:5 42:23)

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