Я не могу заставить red5-hls-plugin собрать

Итак, я недавно установил образ/контейнер Red5 Docker на свой компьютер и попытался собрать/скомпилировать плагин red5-hls-plugin, чтобы добавить его в плагины.

Я следовал инструкциям, приведенным на https://github.com/Red5/red5-hls-plugin#tiagos-step-by-step-guide, но все, что я получаю при запуске mvn -Dmaven.test.skip=true в каталоге red5-hls-plugin/plugin/, это

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: org:jaudiotagger

Reason: Error getting POM for 'org:jaudiotagger' from the repository: Unable to read local copy of metadata: Cannot read metadata from '/root/.m2/repository/org/jaudiotagger/2.0.4-SNAPSHOT/maven-metadata-sonatype-snapshots.xml': end tag name </body> must match start tag name <hr> from line 5 (position: TEXT seen ...</center>\r\n</body>... @6:8)
  org:jaudiotagger:pom:2.0.4-SNAPSHOT


 for project org:jaudiotagger

Дополнительная информация

Я не знаю, предполагаете ли вы создать плагин hls для версии, которую вы установили, которая у меня есть 1.0.4, но когда я редактирую файл pom.xml и меняю <red5-server.version>1.0.2-SNAPSHOT</red5-server.version> на <red5-server.version>1.0.4-RELEASE</red5-server.version> и добавляю следующие репозитории:

<repository>
    <id>sonatype-releases</id>
    <url>https://oss.sonatype.org/content/repositories/releases</url>
</repository>
<repository>
    <id>sonatype-snapshots</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>

Теперь я получаю следующую ошибку при попытке скомпилировать/сборить:

[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 26 source files to /src/red5-hls-plugin/plugin/target/classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /src/red5-hls-plugin/plugin/src/main/java/org/red5/service/httpstream/model/VideoFrame.java:[25,35] error: package org.red5.server.stream.codec does not exist
[ERROR] /src/red5-hls-plugin/plugin/src/main/java/org/red5/service/httpstream/model/VideoFrame.java:[58,34] error: package VideoCodec does not exist
[ERROR] /src/red5-hls-plugin/plugin/src/main/java/org/red5/service/httpstream/model/VideoFrame.java:[60,41] error: package VideoCodec does not exist
[INFO] 3 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure

person Jeff Wilbert    schedule 23.06.2015    source источник
comment
Плагин не был обновлен для работы с более новыми банками сервера, поэтому вы получаете ошибку.   -  person Paul Gregoire    schedule 23.06.2015
comment
@Mondain Знаете ли вы, как заставить его работать, я видел в группе Google кого-то с 1.5, у которого предположительно заработал плагин hls. Мне удалось скомпилировать плагин hls и каким-то образом собрать его после того, как я попробовал кучу вещей, меняя версии, добавляя репозитории, отключая некоторые репозитории и т. д., но теперь red5 падает, когда я добавляю плагин.   -  person Jeff Wilbert    schedule 23.06.2015
comment
Это ошибка, которую я получаю после добавления скомпилированного плагина hls в red5 сейчас [ERROR] [Launcher:/hlsapp] org.red5.server.scope.Scope - Could not start scope Scope [name=hlsapp, path=/default, type=APPLICATION, autoStart=true, creationTime=143506218 2052, depth=1, enabled=true, running=false] {} org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'segmenter.service' defined in ServletContext resource [/WEB-INF/red5-web.xml]: Inv ocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/xuggle/mediatool/ToolFactory   -  person Jeff Wilbert    schedule 23.06.2015
comment
Эта ошибка означает, что xuggler не может быть обнаружен; убедитесь, что jar xuggler находится в каталоге red5/lib   -  person Paul Gregoire    schedule 24.06.2015
comment
Мне удалось запустить 1.0.5 с плагином HLS благодаря некоторой помощи кого-то из группы Google. Единственная проблема, с которой я сталкиваюсь сейчас, это то, что я не могу воспроизводить музыку на своем устройстве Android, используя ссылку m3u8 для прямой трансляции; все, что я получаю, это черный экран. У меня настроен и работает сервер AMS, и он работает на моем телефоне, используя ссылку m3u8 от AMS, поэтому я знаю, что мой телефон может воспроизводить потоки через него.   -  person Jeff Wilbert    schedule 24.06.2015
comment
Насколько я помню, Android не воспроизводит hls, если только вы не используете нестандартный плеер. Ams, вероятно, смотрит на пользовательский агент и соответствующим образом переключает поддержку.   -  person Paul Gregoire    schedule 25.06.2015
comment
Android имеет поддержку hls, я думаю, иногда это может быть привередливо, судя по некоторым статьям в Интернете, но у меня никогда не было проблем с AMS, все, что я использую для воспроизведения своей прямой трансляции на всех платформах, - это тег видео html5 с 2 источниками, источник m3u8 (для мобильных устройств) и источник rtmp (для настольных компьютеров), и он хорошо работает на всех платформах с ams, но с red5 я не могу заставить m3u8 работать, просто появляется черный экран. Я постоянно получаю журнал ошибок org.red5.xuggler.writer.HLSStreamWriter - Video packet was not complete во время потоковой передачи, так что, возможно, это как-то связано с этим..   -  person Jeff Wilbert    schedule 25.06.2015
comment
Кому @JeffWilbert: Как вам удалось заставить это работать?   -  person akatran    schedule 26.06.2015
comment
@akatran pastebin.com/tbkebUwB   -  person Jeff Wilbert    schedule 26.06.2015


Ответы (1)


Просто чтобы ответить на этот старый вопрос, чтобы сохранить его в природе вещей переполнения стека. В итоге я решил проблему со сборкой, в значительной степени используя определенные версии инструментов сборки в то время, которые были старше текущих версий; более конкретно, с использованием gcc 3.6 или ниже по сравнению с 3.7+, который в то время поставлялся с дистрибутивом Linux.

Инструкции, которые я получил во время помощи, были от пользователя на доске red5, он рассказал мне, как ему удалось скомпилировать, и я поделюсь ниже, что сработало для меня:

Инструкции предоставлены Frans Gouverne из группы google red5.

Below are the steps I made to get it up and running with latest release RED5 1.0.5.
My server is running CentOS 6.6, 64-bits.
Not sure if it is all 100% accurate, but it will come close to it.

Hopefully it is of any help for you,

Regards Frans

========================

Install compiler and other tools:
  yum install git -y
  yum install gcc make gcc-c++ -y
  yum install libtool -y
  yum install automake -y
  yum install autoconf -y
  yum install openssl openssl-devel -y
  yum install yasm nasm -y

Install JAVA:
  yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64
  yum -y install java-1.8.0-openjdk-devel.x86_64
  export JAVA_HOME=/usr/lib/jvm/java

Install Maven:
  cd /tmp/
  wget  http://mirrors.supportex.net/apache/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz
  tar -xfz apache-maven-3.3.3-bin.tar.gz
  mv apache-maven-3.3.3/ /opt/maven
  ln -s /opt/maven/bin/mvn /usr/bin/mvn

Install Ant:
  cd /tmp/
  wget http://ftp.tudelft.nl/apache//ant/binaries/apache-ant-1.9.5-bin.tar.gz
  tar -xfz apache-ant-1.9.5-bin.tar.gz
  cp -r apache-ant-1.9.5 /usr/local/ant
  export ANT_HOME=/usr/local/ant
  export PATH=$PATH:/usr/local/ant/bin

Build RED5 1.0.5 from source:
  cd /tmp/
  wget https://github.com/Red5/red5-server/archive/v1.0.5-RELEASE.tar.gz
  tar -xfz v1.0.5-RELEASE.tar.gz
  cd red5-server-1.0.5-RELEASE
  mvn -Dmaven.test.skip=true install
  mvn -Dmaven.test.skip=true clean package -P assemble
  cp target/red5-server-1.0.5-RELEASE-server.tar.gz /usr/local/
  cd /usr/local/
  tar -xfz red5-server-1.0.5-RELEASE-server.tar.gz

Install xuggler:
  cd /tmp/
  git clone git://github.com/xuggle/xuggle-xuggler.git
  cd xuggle-xuggler
  ant  (or "ant install", not sure about that...)
  cp -r dist/lib/xuggle-xuggler-noarch.jar /usr/local/red5-server-1.0.5-RELEASE/plugins/
  cp -r dist/lib/xuggle-xuggler-arch-x86_64-unknown-linux-gnu.jar /usr/local/red5-server-1.0.5-RELEASE/plugins/

Build Red5 HLS plugin:
  cd /tmp/
  git clone https://github.com/mondain/red5-hls-plugin.git
  cd red5-hls-plugin/plugin/
  mvn -Dmaven.test.skip=true

  cp red5-hls-plugin/plugin/target/hls-plugin-1.1.jar red5-hls-plugin/example/lib/
  cd red5-hls-plugin/example/
  mvn eclipse:eclipse
  mvn -Dmaven.test.skip=true

  cp /tmp/red5-hls-plugin/example/target/hlsapp-1.1.war /usr/local/red5-server-1.0.5-RELEASE/webapps/
  cp /tmp/red5-hls-plugin/plugin/target/hls-plugin-1.1.jar  /usr/local/red5-server-1.0.5-RELEASE/plugins/

Finally restart red5 and add the segments directory!!
person Jeff Wilbert    schedule 16.08.2017