2013-06-09 2 views
1

Есть ли случай, когда видеофайл может содержать как mjpeg-кадры, так и звуковой слой? Я знаю изначально, люди использовали для размещения 8 кГц PCM несжатого трека вместе со своим mjpeg-фильмом, поскольку он транслируется/декодируется/воспроизводится по кадре без необходимости предсказания движения. Может ли какой-нибудь декодер принять Mjpeg с более новым аудиоформатом?Могу ли я добавить сжатую звуковую дорожку в Mjpeg?

[EDIT 1]

Что я буду первым попробовать, чтобы проверить, если FFmpeg обрабатывает преобразование аудио/видео фильмов в формате MJPEG со звуком, и я буду исследовать заголовок и слои с шестнадцатеричным редактором ,

[EDIT 2]

OK. Я изучил Mjpeg со звуком: ffmpeg -i some_movie_with_music.mp4 -f avi -acodec mp3 -vcodec mjpeg mjpegWithSound.avi

И есть файл MP3, разделенный на общее количество кадров под каждым jpeg плюс некоторые изменения в заголовке. Таким образом, его легко реализовать в контексте, когда мобильное приложение предложит пользователю возможность добавлять файлы MP3 в серию jpeg или в фильм. Итак, еще одна причина использовать Mjpeg, когда платформа еще не имеет кодировщика.

ответ

1

Приятно наблюдать, как ваше приложение принимает форму. :-) Я собираюсь предположить, что это следующее: to your last question и что вы хотите написать код C# для выполнения этой задачи. Вы все еще пишете это в контейнер AVI? AVI означает «аудио/видео чередование» и предназначен для передачи как аудио, так и видео.

Итак, да, вы должны иметь возможность записывать как MJPEG, так и аудио в AVI-файл.

Угадайте, что! У вас также есть много вариантов для аудиокодеков. Мы не каталогизировали столько же аудиокодеков, сколько видеокодеков (но близко). Хорошая новость: реализация базового аудиокодера в чистом C# должна быть намного проще, чем пытаться подключить даже видеокодер MPEG-1. Кроме того, проверьте, можете ли вы найти MP3-кодировщик, написанный на чистом C#. AVI вмещает MP3. Если нет, попробуйте IMA ADPCM. Его легко реализовать и дает сжатие 4: 1. Таким образом, если у вас монофонический, 44100 Гц, 16-разрядный поток, который требует 88200 байт/сек. IMA ADPCM даст вам примерно 22050 байт/сек (плюс небольшие накладные расходы).

+0

Отлично! Большое спасибо за вашу прочную поддержку на SO. Мне действительно нужно взять оригинальный путь в моем процессе разработки, поскольку ничего не существует для Windows Phone. Кажется, мы находимся в эпоху обработки на стороне сервера, где такие устройства, как WP, содержат некоторые собственные, но недоступные API-интерфейсы кодеров, так что вы можете записывать/воспроизводить/сохранять. Так или иначе. поэтому я выбрал AVI. Проблема в том, что я не нашел интересных листов спецификаций, в которых явно упоминается, как найти звуковой слой в MJpeg. Я делаю первый тест (описанный в моем EDIT # 1). –