Если несколько каналов, объедините их, затем возьмите длину образца из аудиофайла и сохраните его в s3.

Я использую transloadit для извлечения аудио из видеофайла, который затем сохраняется на S3. Это прекрасно работает, но я хотел знать, как:

  1. проверьте, есть ли в файле несколько каналов, а затем сожмите его в соответствии с https://transloadit.com/demos/audio-encoding/merging-multiple-audio-streams/ — нужно ли мне проверять это или я по умолчанию использую этого робота?

  2. извлеките небольшой фрагмент из аудиофайла и сохраните его как отдельный файл.

Например, у меня есть 2-часовой аудиофайл, из которого я хочу взять 5% длины и сохранить его как sample.mp3.

В ffmpeg я могу вырезать:

ffmpeg -ss 0 -t 30 -i original.mp3 sample.mp3

но я не уверен, как связать этот рабочий процесс, вот что у меня есть до сих пор:

const opts = {
  params: {
    notify_url: `${ process.env.SELF }/services/trans/${ jwToken }`,
    steps:      {
      import: {
        robot:  '/s3/import',
        use:    ':original',
        bucket: process.env.S3_INGEST,
        path:   ingest.key,
        key:    process.env.AWS_ID,
        secret: process.env.AWS_SECRET,
      },
      encode: {
        robot:        '/audio/encode',
        use:          'import',
        ffmpeg_stack: 'v2.2.3',
        preset:       'aac',
        ffmpeg:       {
          ab:  '128k',
        },
      },
      export: {
        robot:   '/s3/store',
        use:     'encode',
        bucket:  s3Export,
        path:    `${ prefix }/${ token }.m4a`,
        headers: {
          'Content-Type': 'audio/mp4',
          'x-amz-server-side-encryption': 'AES256',
        },
        key:    process.env.AWS_ID,
        secret: process.env.AWS_SECRET,
      },
    },
  },
};

в документах https://transloadit.com/docs/conversion-robots/ i не видно как это сделать?

любой совет очень ценится.


person khinester    schedule 24.03.2017    source источник


Ответы (1)


Transloadit поддерживает внедрение параметров ffmpeg. Таким образом, вы можете легко добавить свои параметры в объект ffmpeg следующим образом.

ffmpeg:{
ab:  '128k',
"ss": "0",
"t": "30"
}

Пожалуйста, сообщите нам, если у вас возникнут другие вопросы, на [email protected]

person Kiloreux    schedule 18.05.2017