1

Сценарий: я хочу воспроизвести видеофайл на звездочке. мой софтфон поддерживает только ulaw/h263 для аудио и видео соответственно. Поэтому я разрешаю оба формата в файле sip.conf и ожидаю его запуска. Я использую звездочку версии 11.7.

Я использую mp4_play из app_mp4 для воспроизведения файлов с подсказками mp4, которые конвертируются с помощью mp4creator.

Решение:

Я пытаюсь создать / преобразовать AV-файл, используя ffmpeg для форматирования pcm_mulaw и скопировав видео, которое уже h263, с помощью команды.

avconv -i input.3gp  -c:a pcm_mulaw  -c:v copy output.mp4

Я получаю это сообщение об ошибке:

Could not write header for output file #0 (incorrect codec parameters ?): Operation not permitted

Вопросы:

1- Двигаюсь ли я в правильном направлении, если речь идет о воспроизведении видео на звездочке для данного программного телефона?

2 - возможно ли использовать ffmpeg таким образом, и контент по-прежнему воспроизводится с помощью медиаплееров?

3. Какая еще альтернатива мне для достижения той же задачи. и как я могу избежать этой ошибки у меня

С уважением

2 ответа2

1

Что ты не можешь сделать

Вы не можете поместить аудио pcm_mulaw или видео H.263 в контейнер MP4.

Ошибка, которую вы предоставили сама по себе, как правило, не информативна, но всегда сопровождается фактической ошибкой (по крайней мере, для ffmpeg , не уверенной в avconv). Наверное что-то такое:

Could not find tag for codec h263 (or pcm_mulaw) in stream #0,
codec not currently supported in container

Это одна из причин всегда включать полный вывод консоли при возникновении проблем.

Что ты можешь сделать

Вы также можете:

  • измените формат выходного контейнера:

    ffmpeg -i input.3gp -c copy output.mkv
    
  • или перекодировать в нечто приемлемое для MP4, такое как видео H.264 и аудио AAC.

    ffmpeg -i input.3gp -c:v libx264 -c:a aac -strict experimental output.mp4
    

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

Долой старое

Я рекомендую использовать последнюю сборку ffmpeg . Используемое вами avconv может быть очень старым, разработка FFmpeg очень активна, а ffmpeg имеет больше возможностей. Статические сборки просты: просто скачайте, распакуйте и запустите. См. Страницу загрузки FFmpeg для опций для Linux, OS X и Windows.

0

Я нашел решение для него и думаю, что должно быть опубликовано, поскольку решение доступно, но я думаю, что оно не очень хорошо распространено.

http://downloads.i6net.com/misc/video_tools/debian/ предоставляет количество ресурсов для той же цели.

  • Я использовал ffmpeg/avconv для преобразования h264 в h263p

    avconv -i ../big_buck_bunny_240p_50mb.mp4 -c:v h263 -vf scale = 176:144 -an /tmp/sample-1.3gp

  • Добавлена информация о дорожке в файл с помощью mp4creator

    mp4creator -hint = 1 /tmp/sample-1.3gp

  • использовал ffmpeg/avconv для конвертации звуковой дорожки в ulaw с помощью

    avconv -y -i ../big_buck_bunny_240p_50mb.mp4 -acodec pcm_mulaw -ar 8000 -ac 1 -f мулав /tmp/convert.mulaw

  • и использовал pcm2mp4 для преобразования файла Mulaw, полученного выше, в 3gp. это также добавить информацию о дорожке для аудио дорожки

    pcm2mp4 /tmp/convert.mulaw /tmp/sample-1.3gp

также хотел бы знать, почему ffmpeg не обеспечивает это преобразование.

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