LINUX.ORG.RU

Gstreamer. Проблема с проигрыванием по http?

 , ,


0

1

Доброго времени суток! Я размышлял, но так и не определился на какой раздел это больше тянет: мультимедиа или администрирование? Поэтому создал здесь. Если кто из модераторов определит точнее, то большая просьба перенести в соответствующий раздел. Спасибо за понимание :)

Случилось так, что решил я оффлайн-прослушивание музла разбавить музлом онлайновым. Радиостанции всякие там тематические и всё такое. Да и чего греха таить, для ознакомления с творчеством неизвестных групп очень хорош «вконтактик» - набрал наименование и слухай результаты. Но вот через браузер слушать это всё - как-то не очень айс: ни эквалайзера тебе, ни хоткеев для управления воспроизведением и громкостью, да ещё и браузер надо постоянно открытым держать. Ну не айс - и всё тут. Ну я так решил, что щас для этих «контактегов», да «пейсбуков» разных поди тонны плюгинов для любого уважающего себя плеера понаделано - только успевай отсеивать малофункциональные. Ан нет, как раз всё наоборот. Ну ладно, для «тушонки» я и не ожидал, что что-то будет - минимализм во все поля и прочее, посему сунулся в клементину - нема, залез в инторнеты, а там вроде как в какой-то ветке для разрабов пилят... спасибо, держите в курсе, так, чо у нас дальше? О, для амарока что-то на хабре есть, ага, запомним. Ну а дальше я вспомнил, что Дедфуд что-то пилил подобное в Личкрафтах.
В итоге добавил сценарий для амарока и плагин для ЛМП из личкрафтов. Вроде всё замечательно было, оно играет, ищет, правда ссылки через какое-то время дохнут, но и пофиг - для ознакомления просто офигенные инструменты. Но это на одной машине. А вот на другой всё стало внезапно печально и непонятно.

Я привычно запускаю ЛМП, настраиваю авторизацию, удивляюсь тому факту, что капчу не надо вводить (на домашней машине просит регулярно), ну ок, поиск работает, выбираю треки, кидаю в плейлист, старт... и ничего. Вылазит мессага об ошибке. Я другой трек - и та же фигня. Лезу в лог мессагесов - там пусто, лезу в лог личкрафтов, а там:

[05.10.2015 11:14:21.669] [0x183cc50] [671] void LeechCraft::LMP::SourceObject::HandleErrorMsg(GstMessage *)  QUrl( "http://cs4534.vk.me/u52217536/audios/906ce051f245.mp3?extra=nzs0A_9LD555j51F243JaUV-K3OVA2uQ9Sygcc1S8Bur7SRgUMHWQMJT4w3yJO7TY9ViDa-IcmtdFhMOdPB3g7-usJ8WfQ" )  3486 3 "Cannot connect to destination (cs4534.vk.me)" "gstsouphttpsrc.c(924): gst_soup_http_src_finished_cb (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstSoupHTTPSrc:source:
libsoup status code 4" 
[05.10.2015 11:14:21.669] [0x183cc50] [673] void LeechCraft::LMP::SourceObject::HandleErrorMsg(GstMessage *)  QUrl( "http://cs4534.vk.me/u52217536/audios/906ce051f245.mp3?extra=nzs0A_9LD555j51F243JaUV-K3OVA2uQ9Sygcc1S8Bur7SRgUMHWQMJT4w3yJO7TY9ViDa-IcmtdFhMOdPB3g7-usJ8WfQ" )  3486 5 "Не удалось установить соединение с сервером." "gstsouphttpsrc.c(1086): gst_soup_http_src_parse_status (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstSoupHTTPSrc:source:
Cannot connect to destination (cs4534.vk.me) (4), URL: http://cs4534.vk.me/u52217536/audios/906ce051f245.mp3?extra=nzs0A_9LD555j51F243JaUV-K3OVA2uQ9Sygcc1S8Bur7SRgUMHWQMJT4w3yJO7TY9ViDa-IcmtdFhMOdPB3g7-usJ8WfQ" 
[05.10.2015 11:14:21.670] [0x183cc50] [674] void LeechCraft::LMP::SourceObject::HandleErrorMsg(GstMessage *)  QUrl( "http://cs4534.vk.me/u52217536/audios/906ce051f245.mp3?extra=nzs0A_9LD555j51F243JaUV-K3OVA2uQ9Sygcc1S8Bur7SRgUMHWQMJT4w3yJO7TY9ViDa-IcmtdFhMOdPB3g7-usJ8WfQ" )  3488 1 "Внутренняя ошибка передачи данных." "gstbasesrc.c(2625): gst_base_src_loop (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstSoupHTTPSrc:source:
streaming task paused, reason error (-5)" 
[05.10.2015 11:14:21.670] [0x183cc50] [675] void LeechCraft::LMP::SourceObject::HandleErrorMsg(GstMessage *)  QUrl( "http://cs4534.vk.me/u52217536/audios/906ce051f245.mp3?extra=nzs0A_9LD555j51F243JaUV-K3OVA2uQ9Sygcc1S8Bur7SRgUMHWQMJT4w3yJO7TY9ViDa-IcmtdFhMOdPB3g7-usJ8WfQ" )  3488 4 "Поток не содержит данных." "gsttypefindelement.c(570): gst_type_find_element_handle_event (): /GstPlayBin2:play/GstURIDecodeBin:uridecodebin1/GstTypeFindElement:typefindelement2:
Can't typefind empty stream" 
И далее в том же духе. В общем, гстрёмер почему-то не могёт законнектиццо к указанному адресу трека. Чудеса.
Решил проверить радиостанции - та же фигня. Ладно, открываю амарок, авторизуюсь, кидаю треки, запускаю - он просто молчит. С радиостанциями та же фигня.
Стал гадать, а какого ж хрена гстрёмер вообще никак не могёт? Ещё раз принудительно перевёл все его пакеты на версии из пакмана - вдруг это опять косяки из-за мп3? Не помогло. Ладно, памятуя о нашем провайдере-затейнике, любящим всякие блокировки лепить, решаю попробовать прокси. Ставлю общесистемным прокси привокси с тором, ребучусь и проверяю - думало долго, но стартовало! Йей... или не йей, ибо это общесистемный прокси со всеми вытекающими. Т.е. теперь влц не смогёт в стрим с вебок в локалке (да и мплеер тоже, кстати), много прочего пойдёт через тор, а бывает так, что выходных нод вообще нет какое-то время. Не айс же!
И вот мы переходим к тому, ради чего я и писал эту простыню: а как, собственно пускать гстример через отдельный прокси? Это вообще законно возможно? Я никаких конфигурационных файлов не нашёл, да и вообще не представляю как этот гстрёмер работает. Так что поясните, пожалуйста, как там и что.

★★★

Последнее исправление: Vier_E (всего исправлений: 1)

у gstsouphttpsrc есть параметры где прописываются прокси, только хз как передать их если это уже собранная программа а не скрипт.

ну и попробуй export http_proxy=192.х.х.х

перед запуском программы, если общесистемный не подходит

Novell-ch ★★★★★
()
Ответ на: комментарий от Novell-ch

И как вызывают этот gstsouphttpsrc? У меня по gst только эти команды выдаёт:

# gst                                                                                                                                                                                                                                
gst123                  gst-discoverer-0.10     gst-feedback-0.10       gst-inspect-1.0         gst-launch-1.0          gst-typefind-0.10       gst-xmlinspect          gst-xmllaunch-0.10                                                   
gstack                  gst-discoverer-1.0      gst-inspect             gst-launch              gst-play-1.0            gst-typefind-1.0        gst-xmlinspect-0.10                                                                          
gst-device-monitor-1.0  gst-feedback            gst-inspect-0.10        gst-launch-0.10         gst-typefind            gst-visualise-0.10      gst-xmllaunch    
Знать бы в какой файлег прописать этот самый прокси.

Vier_E ★★★
() автор топика
Ответ на: комментарий от Vier_E

gst-inspect-1.0 souphttpsrc покажет все свойства которые имеет souphttpsrc и там есть прокси, другое дело что они не реализоаны в логике программы, потому поробуй просто указать прокси для твоей программы:

http_proxy=192.х.х.х ./proram_name

Novell-ch ★★★★★
()
Ответ на: комментарий от Novell-ch

Так, а вот последняя строка - это команда для терминала, ну т.е. для запуска личей с таким параметром, или это как-то гстрёмеру скармливать? Поподробнее можно?

Vier_E ★★★
() автор топика
Ответ на: комментарий от Novell-ch

Печально всё это.
А вот и свежие новости - дома специально отрубил видалию, на работе уронил привокси с тором. Запускаю на домашней машине личи, музыку (через рабочий инет: прямая видимость, 100 метров до работы и вайфай облегчают жизнь) - всё работает.
Следовательно идёт-то оно напрямую и работает. Тогда возникают подозрения по каким-то модулям. Какие пакетики смотреть, и можно ли в зузе как-то обновить гстрёмер так, чтобы обновились не только пакеты, но и конфигурационные файлы?

Vier_E ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.