FFmpeg на каждый день

    14 повседневных применений FFmpeg.
    1. Извлечение информации из видеофайла:
      ffmpeg -i sample.avi
    2. «Склеивание» изображений в видеоряд:
      ffmpeg -f image2 -i image%d.jpg video.mpg
      Все картинки из текущей директории с именами файлов image1.jpg, image2.jpg и т.д. будут преобразованы в один ролик video.mpg.
    3. Разложение видеоряда на кадры:
      ffmpeg -i video.mpg image%d.jpg
      Будут сгенерированы файлы image1.jpg, image2.jpg и т.д… Поддерживаемые графические форматы: PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.
    4. Кодирование видеоряда для Apple iPod/iPhone:
      ffmpeg -i source_video.avi input -acodec aac -ab 128kb -vcodec mpeg4 -b 1200kb -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4
    5. Для Sony PSP:
      ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4
    6. Извлечение звука из видеофайла с последующим сохранением в формате MP3:
      ffmpeg -i source_video.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 sound.mp3
    7. Преобразование WAV в MP3:
      ffmpeg -i son_original.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 son_final.mp3
    8. AVI в MPG:
      ffmpeg -i video_original.avi video_final.mpg
    9. MPG в AVI:
      ffmpeg -i video_original.mpg video_final.avi
    10. Конвертация AVI-файла в несжатый анимированный GIF:
      ffmpeg -i video_original.avi gif_anime.gif
    11. Смешение аудио- и видеопотока в один результирующий файл:
      ffmpeg -i son.wav -i video_original.avi video_final.mpg
    12. Преобразование AVI в FLV:
      ffmpeg -i video_original.avi -ab 56 -ar 44100 -b 200 -r 15 -s 320x240 -f flv video_final.flv
    13. FLV в AVI:
      ffmpeg -i video_original.flv -ab 56 -ar 44100 -b 200 -s 320x240 video_final.avi
    14. FLAC в MP3:
      ffmpeg -i audio_original.flac -ab 320k -ac 2 -ar 48000 audio_final.mp3
    Поделиться публикацией

    Комментарии 32

      +2
      Спасибо, интересная информация. В закладки однозначно…
        +2
        У меня когда-то мечта была, чтобы помимо команды man была еще одна, например examp — по ней выводился бы подобный пример использования. Конечно в некоторых манах приводят примеры, но вот что бы так наглядно, как в этом посте — нет.
        Однозначно отличная шпаргалка
          0
          man mplayer, в конце мана 3.5 страницы примеров.
            0
            Хорошая идея, может создать такой проект?
            0
            > Конвертация AVI-файла в несжатый анимированный GIF:
            Бывают несжатые GIF?
            • НЛО прилетело и опубликовало эту надпись здесь
              • НЛО прилетело и опубликовало эту надпись здесь
                0
                Для КПК под WM я делаю так:
                ffmpeg -i inputfile -s 320x240 -f mpeg outputfile
                Получается около 80-100 метров
                  0
                  хм… делаю:

                  ffmpeg -y -i "/smb/films/$1" -s 320x240 -b 512k -acodec mp3 -ar 22050 -ab 64k -ac 2 -r 20 "/smb/films/320x240/$1"

                  а получаются все 400-500 метров из 1.5 гигового двд-рипа…

                  однозначно попробую ваш вариант :)
                  • НЛО прилетело и опубликовало эту надпись здесь
                      0
                      большой поток…
                      попробуйте добавить -qscale 5
                      1 -отлично
                      10 -плохо


                      понятно, спасибо. но ведь человек вообще не указывает ни качество, ни битрейт, а по стандарту получает такое качество… или ffmpeg использует не значение исходного файла, а уже оптимизированные значения?
                  0
                  Спасибо, ещё б такую же для mplayer-а.
                    0
                    Может быть и не все, но многое такое можно сделать и в помощью mplayer
                    Например:
                    Для Sony PSP:
                    mencoder -ofps 30000/1001 -af lavcresample=24000 -vf harddup -of lavf \
                    -oac lavc -ovc lavc -lavcopts aglobal=1:vglobal=1:vcodec=mpeg4:acodec=aac \
                    -lavfopts format=psp \
                    input.video -o output.psp
                    Создание .avi из директории с картинками:
                    mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc \
                    -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi

                    0
                    >> Для Sony PSP:
                    >> ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4

                    Хм… У psp экран 480х272. Почему-бы не использовать его полностью? ;)
                      0
                      FFmpeg очень медленно делает скриншоты (52 секунды занимает скриншот с 30й минуты).

                      Есть какая-то утилитка для него (отдельно ставится), к-я этот процесс ускоряет.

                      Скриншоты же я предпочитаю делать MenCoder'ом (часть MPlayer'a) — работает в разы быстрее.

                      Ещё ффмпегом можно накладывать вотермарки на видеофайлы:
                        0
                        коммент неожиданно отправился.

                        ffmpeg -i /www/site.ru/video/test.avi -vhook '/usr/lib/ffmpeg/vhook/watermark.so -f /www/site.ru/images/watermark.gif' -an /www/site.ru/video/test_watermarked.avi
                        0
                        А из FLV в AVI могет?
                          0
                          В простейшем случае: ffmpeg -i tubevideo.flv output.avi
                          С нужными параметрами, например: ffmpeg -i tubevideo.flv -ab 56 -ar 22050 -b 500 -s 320x240 output.avi
                          Вместо output.avi можно output.mpg
                            +1
                            Обновил, спасибо.
                            0
                            ffmpeg -f image2 -i image%d.jpg video.mpg

                            а как прорегулировать скорость показа 1 картинки?
                              0
                              у вас есть
                              «Склеивание» изображений в видеоряд

                              а не подскажете ли как «склеить» несколько видео-файлов в один?

                              просто
                              ffmpeg -i video%d.mpg video_full.mpg

                              не работает :(
                                0
                                Вы решили этот вопрос?
                                Я 5 минут как знаком с ffmpeg — пытаюсь понять как склеить 7 VOB- файлов…
                                0
                                Если Ubuntu то cтавиш утилиту lavtrans из пакета mjpegtools «apt-get install mjpegtools» далее
                                склеиваешь командой lavtrans про lavtrans почитай в мане!
                                  0
                                  А можно как-то указать ffmpeg чтобы он только ресайзил видео, а звук оставил в покое? а то для теста клип уменьшил, а с ним и звук в разы хуже стал.
                                    +1
                                    ffmpeg… -acodec copy
                                      0
                                      Ухты! Спасибо!
                                    0
                                    Я бы ещё при конвертировании в flv добавлял -deinterlaced, иногда это необходимо, что видео не стробило
                                      0
                                      Спасибо. Полезно.
                                        0
                                        Попросили задать вопрос:
                                        А IP-TV поток заграбить кто подскажет как? Допустим имеется адрес udp://@234.5.2.1:20000 на нем живет первый канал, хочу с него получить видео.
                                          0
                                          а можноли его както заставить мета не в конец фаила пихать, а в начало?
                                            0
                                            В этом вам поможет тулза «qt-faststart» входящая в FFmpeg. Собрать ее можно, например, так:

                                            cd /usr/local/bin/
                                            gcc ~/src/ffmpeg-0.6/tools/qt-faststart.c -o qt-faststart

                                            Затем применить к свежеотконвертированному файлу:

                                            qt-faststart ./video.mp4 ./video.new.mp4
                                            0
                                            ffmpeg -f image2 -i image%d.jpg video.mpg
                                            А как задать скорость с которой будут меняться картинки?
                                            Или время показа каждой картинки.
                                            Хотелось бы сделать так, что бы проигрывалась музыка и менялись картинки.
                                            Если сделать так:
                                            ffmpeg -f image2 -i image%d.jpg — music.mp3 video.mpg
                                            то сначала промелькнут все картинки, а потом играет музыка.

                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.