Я пытаюсь использовать mencoder для создания видео, в котором музыка воспроизводится на одном изображении. Я использую mf для добавления изображения, и я всегда получаю видео с примерно одной секундой аудио с сообщенной длиной 0:00. Я пробовал с различными mp3 и изображениями из разных источников, и я пробовал использовать различные кодеки и опции, но, похоже, я не могу справиться с этой проблемой. Вот основная команда:
mencoder "mf://image.jpg" -o out.avi -ovc lavc -lavcopts vcodec=mjpeg -audiofile music.mp3 -oac copy
Кто-нибудь знает, как это сделать или почему mencoder разрезает музыку на одну секунду?
Это потому, что для FPS по умолчанию установлено значение 30, поэтому mencoder ожидает 30 изображений в секунду - вам нужно сказать mencoder, чтобы использовать одно изображение для всей записи, поэтому вам нужно установить FPS на 1 / «продолжительность».
Добавьте этот параметр:
-fps 1/132.8 -ofps 30
, где 132.8 - продолжительность (в секундах) вашего звука.
Результат должен выглядеть так:
mencoder mf://image.jpg -o out.avi \
-ovc lavc -lavcopts vcodec=mjpeg -audiofile music.mp3 \
-oac copy -fps 1/132.8 -ofps 30
Я только пришел с альтернативой, где вы предоставили бы такое же изображение из трубы:
for x in `seq 1 55`; do cat image.jpg; done | mencoder -o out.avi -fps 1 -ovc lavc -demuxer lavf -lavfdopts format=mjpeg -audiofile music.mp3 -oac copy -
, где вы заменили бы 55 числом секунд, которое вы хотите (это будет длина песня, как вы пожелаете).
Но, как вы видите, это глупее, чем простой и прямой ответ на вопрос Vojtech. Единственное преимущество, которое я получил от этой альтернативы, - это меньший результирующий размер файла.
Это потому, что для FPS по умолчанию установлено значение 30, поэтому mencoder ожидает 30 изображений в секунду - вам нужно сказать mencoder, чтобы использовать одно изображение для всей записи, поэтому вам нужно установить FPS на 1 / «продолжительность».
Добавьте этот параметр:
-fps 1/132.8 -ofps 30
, где 132.8 - продолжительность (в секундах) вашего звука.
Результат должен выглядеть так:
mencoder mf://image.jpg -o out.avi \
-ovc lavc -lavcopts vcodec=mjpeg -audiofile music.mp3 \
-oac copy -fps 1/132.8 -ofps 30
Я только пришел с альтернативой, где вы предоставили бы такое же изображение из трубы:
for x in `seq 1 55`; do cat image.jpg; done | mencoder -o out.avi -fps 1 -ovc lavc -demuxer lavf -lavfdopts format=mjpeg -audiofile music.mp3 -oac copy -
, где вы заменили бы 55 числом секунд, которое вы хотите (это будет длина песня, как вы пожелаете).
Но, как вы видите, это глупее, чем простой и прямой ответ на вопрос Vojtech. Единственное преимущество, которое я получил от этой альтернативы, - это меньший результирующий размер файла.
Это потому, что для FPS по умолчанию установлено значение 30, поэтому mencoder ожидает 30 изображений в секунду - вам нужно сказать mencoder, чтобы использовать одно изображение для всей записи, поэтому вам нужно установить FPS на 1 / «продолжительность».
Добавьте этот параметр:
-fps 1/132.8 -ofps 30
, где 132.8 - продолжительность (в секундах) вашего звука.
Результат должен выглядеть так:
mencoder mf://image.jpg -o out.avi \
-ovc lavc -lavcopts vcodec=mjpeg -audiofile music.mp3 \
-oac copy -fps 1/132.8 -ofps 30
Я только пришел с альтернативой, где вы предоставили бы такое же изображение из трубы:
for x in `seq 1 55`; do cat image.jpg; done | mencoder -o out.avi -fps 1 -ovc lavc -demuxer lavf -lavfdopts format=mjpeg -audiofile music.mp3 -oac copy -
, где вы заменили бы 55 числом секунд, которое вы хотите (это будет длина песня, как вы пожелаете).
Но, как вы видите, это глупее, чем простой и прямой ответ на вопрос Vojtech. Единственное преимущество, которое я получил от этой альтернативы, - это меньший результирующий размер файла.
Я только пришел с альтернативой, где вы предоставили бы такое же изображение из трубы:
для x в `seq 1 55`; do cat image.jpg; сделано | mencoder -o out.avi -fps 1 -ovc lavc -demuxer lavf -lavfdopts format = mjpeg -audiofile music.mp3 -oac copy -
, где вы бы заменили 55 числом секунд вы хотите (это будет длина песни, как вы пожелаете).
Но, как вы можете видеть, это глупее, чем простой и прямой ответ на вопрос Vojtech. Единственное преимущество, которое я получил от этой альтернативы, - меньший результирующий размер файла.
Это потому, что для FPS по умолчанию установлено значение 30, поэтому mencoder ожидает 30 изображений в секунду - вам нужно сказать mencoder, чтобы использовать одно изображение для всей записи, поэтому вам нужно установить FPS на 1 / «продолжительность».
Добавьте этот параметр:
-fps 1 / 132.8 -ofps 30
где 132.8
- это продолжительность ( в секундах) вашего звука.
Результат должен выглядеть следующим образом:
mencoder mf: //image.jpg -o out.avi \ -ovc lavc -lavcopts vcodec = mjpeg -audiofile music.mp3 \ -oac copy -fps 1 / 132.8 -ofps 30
Я только пришел с альтернативой, где вы предоставили бы такое же изображение из трубы:
для x в `seq 1 55`; do cat image.jpg; сделано | mencoder -o out.avi -fps 1 -ovc lavc -demuxer lavf -lavfdopts format = mjpeg -audiofile music.mp3 -oac copy -
, где вы бы заменили 55 числом секунд вы хотите (это будет длина песни, как вы пожелаете).
Но, как вы можете видеть, это глупее, чем простой и прямой ответ на вопрос Vojtech. Единственное преимущество, которое я получил от этой альтернативы, - меньший результирующий размер файла.
Это потому, что для FPS по умолчанию установлено значение 30, поэтому mencoder ожидает 30 изображений в секунду - вам нужно сказать mencoder, чтобы использовать одно изображение для всей записи, поэтому вам нужно установить FPS на 1 / «продолжительность».
Добавьте этот параметр:
-fps 1 / 132.8 -ofps 30
где 132.8
- это продолжительность ( в секундах) вашего звука.
Результат должен выглядеть следующим образом:
mencoder mf: //image.jpg -o out.avi \ -ovc lavc -lavcopts vcodec = mjpeg -audiofile music.mp3 \ -oac copy -fps 1 / 132.8 -ofps 30
Я только пришел с альтернативой, где вы предоставили бы такое же изображение из трубы:
для x в `seq 1 55`; do cat image.jpg; сделано | mencoder -o out.avi -fps 1 -ovc lavc -demuxer lavf -lavfdopts format = mjpeg -audiofile music.mp3 -oac copy -
, где вы бы заменили 55 числом секунд вы хотите (это будет длина песни, как вы пожелаете).
Но, как вы можете видеть, это глупее, чем простой и прямой ответ на вопрос Vojtech. Единственное преимущество, которое я получил от этой альтернативы, - меньший результирующий размер файла.
Это потому, что для FPS по умолчанию установлено значение 30, поэтому mencoder ожидает 30 изображений в секунду - вам нужно сказать mencoder, чтобы использовать одно изображение для всей записи, поэтому вам нужно установить FPS на 1 / «продолжительность».
Добавьте этот параметр:
-fps 1 / 132.8 -ofps 30
где 132.8
- это продолжительность ( в секундах) вашего звука.
Результат должен выглядеть следующим образом:
mencoder mf: //image.jpg -o out.avi \ -ovc lavc -lavcopts vcodec = mjpeg -audiofile music.mp3 \ -oac copy -fps 1 / 132.8 -ofps 30
Это потому, что для FPS по умолчанию установлено значение 30, поэтому mencoder ожидает 30 изображений в секунду - вам нужно сказать mencoder, чтобы использовать одно изображение для всей записи, поэтому вам нужно установить FPS на 1 / «продолжительность».
Добавьте этот параметр:
-fps 1 / 132.8 -ofps 30
где 132.8
- это продолжительность ( в секундах) вашего звука.
Результат должен выглядеть следующим образом:
mencoder mf: //image.jpg -o out.avi \ -ovc lavc -lavcopts vcodec = mjpeg -audiofile music.mp3 \ -oac copy -fps 1 / 132.8 -ofps 30
Я только пришел с альтернативой, где вы предоставили бы такое же изображение из трубы:
для x в `seq 1 55`; do cat image.jpg; сделано | mencoder -o out.avi -fps 1 -ovc lavc -demuxer lavf -lavfdopts format = mjpeg -audiofile music.mp3 -oac copy -
, где вы бы заменили 55 числом секунд вы хотите (это будет длина песни, как вы пожелаете).
Но, как вы можете видеть, это глупее, чем простой и прямой ответ на вопрос Vojtech. Единственное преимущество, которое я получил от этой альтернативы, - меньший результирующий размер файла.
Это потому, что для FPS по умолчанию установлено значение 30, поэтому mencoder ожидает 30 изображений в секунду - вам нужно сказать mencoder, чтобы использовать одно изображение для всей записи, поэтому вам нужно установить FPS на 1 / «продолжительность».
Добавьте этот параметр:
-fps 1 / 132.8 -ofps 30
где 132.8
- это продолжительность ( в секундах) вашего звука.
Результат должен выглядеть следующим образом:
mencoder mf: //image.jpg -o out.avi \ -ovc lavc -lavcopts vcodec = mjpeg -audiofile music.mp3 \ -oac copy -fps 1 / 132.8 -ofps 30
Я только пришел с альтернативой, где вы предоставили бы такое же изображение из трубы:
для x в `seq 1 55`; do cat image.jpg; сделано | mencoder -o out.avi -fps 1 -ovc lavc -demuxer lavf -lavfdopts format = mjpeg -audiofile music.mp3 -oac copy -
, где вы бы заменили 55 числом секунд вы хотите (это будет длина песни, как вы пожелаете).
Но, как вы можете видеть, это глупее, чем простой и прямой ответ на вопрос Vojtech. Единственное преимущество, которое я получил от этой альтернативы, - меньший результирующий размер файла.