it-roy-ru.com

Как я могу конвертировать .mp4 файлы в .3gp, используя ffmpeg?

Я хотел бы скачать несколько видео с YouTube и конвертировать их в 3gp, чтобы я мог воспроизвести их на своем телефоне. Я хотел бы знать, как это можно сделать с помощью ffmpeg.

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

  1. Я использовал:

    ffmpeg -i dil.mp4 -sameq -ab 64k -ar 44100 dilenada.3gp
    

Я получил:

Unsupported codec for output stream #0.1

Кажется, что частота кадров кодека потока 0 отличается от частоты кадров контейнера: 2000,00 (2000/1) -> 29,92 (359/12)

  1. Я использовал:

    ffmpeg -y -i dil.mp4 -r 20 -s 352x288 -b 400k -acodec libfaac -ac 1 -ar 2000 -ab 24k dilenada.3gp
    

Я получил:

Seems stream 0 codec frame rate differs from container frame rate: 2000.00 (2000/1) -> 29.92 (359/12)

Unknown encoder 'libfaac'

Что я делаю неправильно?

7
harisibrahimkv

Используйте следующую команду:

ffmpeg  -y -i movie.mp4 \
        -r 20 -s 352x288 -vb 400k \
        -acodec aac -strict experimental -ac 1 -ar 8000 -ab 24k \
        movie.3gp
8
Amin

Вам, вероятно, просто нужно установить несвободные/ограниченные пакеты ffmpeg, такие как libavcodec-extra-53 libavformat-extra-53 libavutil-extra-51 и им подобные.

Вызов ffmpeg с --list-encoders покажет доступные кодеры.

1
LiveWireBT

Вы все делаете правильно :). Вам придется установить для преобразования на работу.

Ubuntu Restricted Extras, то есть libavcodec-extra-53

Вы можете получить его из центра программного обеспечения или использовать следующую команду

Sudo apt-get установить ffmpeg libavcodec-unstripped-52

1
b-ak

У меня тоже проблемы с ffmpeg

По-видимому, в Ubuntu больше не используется ffmpeg, а есть форк, называемый avconv. Это делает некоторые (многие?) Команды, найденные на сайтах, непригодными для использования в Ubuntu.

Что я сделал, так это просто получил оригинальный ffmpeg:

Sudo add-apt-repository ppa:jon-severinsson/ffmpeg
Sudo apt-get update
Sudo apt-get install ffmpeg

не уверен, насколько это поможет вам, хотя

1
josinalvo

Чтобы обойти эту проблему, единственным вариантом может быть build from source. Это решило любые проблемы для меня. Я удалил любой из пакетов ffmpeg, который в настоящее время используется в системе, и попытался использовать это превосходное руководство по компиляции Ubuntu . Это был единственный способ, которым я мог кодировать в проприетарные форматы, такие как mp4 и mp3.

Кроме того, следующий скрипт, который я изменил (благодарность оригинальному создателю), можно снова изменить и использовать для преобразования mp4 to 3gp или mp4 to mp3 (для извлечения аудио) или чего-либо еще. Он также сохраняет исходное имя файла во вновь преобразованном файле: однако важно правильно заполнить параметры.

Вы можете использовать различные опции для 3gp; например, вам может потребоваться разрешение, отличное от qcif (176x144), но я обнаружил, что эти настройки изначально работали для меня с моей compiled версией ffmpeg. (Преобразование может занять некоторое время, в зависимости от того, насколько мощен ваш процессор, так как преобразование его в 3gp значительно уменьшает размер файла: от 314 МБ до 13 МБ для одного из моих преобразований!)

Сохраните этот скрипт ниже в новый документ и сделайте его исполняемым (chmod +x), поместите его в нужную папку и выполните его; или используйте терминал для выбора папки, в которой находится скрипт, и целевой папки, содержащей файлы; например ~/Scripts/script ~/Downloads

#!/bin/bash
for f in *.mp4
do
    name="${f/.mp4/.3gp}"
    ffmpeg -i "$f" -vcodec h263 -s qcif -r 15 -b 100k -acodec libfaac -ac 1 -ar 32000 -ab 64k -f 3gp "$name"
done
0
user76204