Разделение аудио и видео пар - PullRequest
0 голосов
/ 15 ноября 2010

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

Итак, сказав ...

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

Что касается технических подробностей по теме, я потерян.У меня нет четкого представления о том, как работает воспроизведение видео, и я не понимаю, как можно разделить эти вещи с помощью программирования.

Спасибо за время и терпение.

Ответы [ 3 ]

0 голосов
/ 15 ноября 2010

Вы можете сделать это с приложением VLC следующим образом:

просто аудио

vlc. dst =: 3333} ': no-sout-rtp-sap: no-sout-standard-sap: sout-keep

просто видео

vlc. 2000, scale = 1, acodec = none}: std {доступ = ммш, mux = asfh, dst =: 3333} ': no-sout-rtp-sap: no-sout-standard-sap: sout-keep

0 голосов
/ 17 ноября 2010

Вы можете взглянуть на TAE, http://github.com/tuna74/TunaAudioExtracter.Имейте в виду, что TAE только выводит аудиопоток и транскодирует только при необходимости.

0 голосов
/ 15 ноября 2010

Это довольно широкий вопрос, но я попробую.Есть два основных подхода:

  1. Имитировать воспроизведение и каким-то образом захватывать выходной звук.
  2. Загрузите или прослушайте, чтобы получить необработанный видеопоток с сервера и сохранить его на диск.Затем, зная расположение формата контейнера, извлеките поток битов, который кодирует только аудио.

Вариант 1 может быть реализован, даже если вы не можете выполнить обратный инжиниринг формата, но я не думаю, что это популярный выбор, поскольку он медленный и требует повторного кодирования звука, что приводит квозможное падение качества.Поэтому предпочтительным является вариант 2.

Я не знаю подробностей о потоках Adobe FLV (это то, что использует YouTube), за исключением того, что FLV - это контейнерный формат, который объединяет аудио / видео сигналы в одном потоке.Вам нужно научиться разбирать их (или найти библиотеку, которая сделает это за вас).Вам также нужно будет найти URL для потока FLV, который вы хотите прочитать.Для тестирования вы можете начать чтение с временных файлов Интернета после воспроизведения видео.

...