Tag: AirVideoServer

目次

参考情報

Linux(Debian Squeeze)で動かす

参考情報

apt-getで前準備

  • mpeg4ip-serverは各所で入れるよう書かれているがSqueezeにはパッケージが存在しない。開発中止されたプロジェクトなのでソースをダウンロードしてきてもそのままではコンパイルできない。中に含まれるmp4creatorが必要かつバックグラウンドエンコードに必要なだけで通常運用には必要ないらしいのでここでは入れないことにする。
    # apt-get install faad
    # apt-get install libfaad-dev
    # apt-get install libxvidcore-dev
    # apt-get install libx264-dev
    # apt-get install libfaac-dev
    # apt-get install libmp3lame-dev
    

インストール

  • /home/airvideoに一式インストールする。
    # mkdir /home/airvideo 
    # cd /home/airvideo 
    # wget http://inmethod.com/air-video/download/linux/alpha6/AirVideoServerLinux.jar 
    # wget http://inmethod.com/air-video/download/ffmpeg-for-2.4.5-beta6.tar.bz2 
    # tar xvjf ffmpeg-for-2.4.5-beta6.tar.bz2 
    # cd ffmpeg 
    # ./configure --enable-pthreads --disable-shared --enable-static --enable-gpl --enable-libx264 --enable-libmp3lame 
    # make
    # make install
    

yasmなんたらかんたらでエラーが発生したらapt-get install yasmする。

設定ファイルの作成

  • 次の内容で/home/airvide/app.propertiesを作成する
    path.ffmpeg=/usr/local/bin/ffmpeg
    path.faac = /usr/bin/faac
    path.mp4creator =
    password = test
    subtitles.encoding = windows-1250
    subtitles.font = Verdana
    folders = Movies:/home/movies
    

起動する

  • とりあえずテスト起動
    java -jar AirVideoServerLinux.jar app.properties

トラブルシューティング

Cannot run program "/usr/local/bin/ffmpeg "が発生。

  • 次のエラーが発生する
    java.lang.RuntimeException: java.io.IOException: Cannot run program "/usr/local/bin/ffmpeg ": java.io.IOException: error=2, No such file or directory
            at com.inmethod.air.video.common.ff.FFVideoSnapshotParser.getSnapshot(FFVideoSnapshotParser.java:508)
            at com.inmethod.air.video.common.thumbnail.ThumbnailParser.parseThumbnail(ThumbnailParser.java:67)
            at com.inmethod.air.video.common.thumbnail.ThumbnailParser.parseThumbnailInternal(ThumbnailParser.java:104)
            at com.inmethod.air.video.common.thumbnail.ThumbnailParser.parseThumbnail(ThumbnailParser.java:139)
            at com.inmethod.air.video.v0240.info.MediaInfoParser.parseMediaInfo(MediaInfoParser.java:80)
            at com.inmethod.air.video.v0240.model.fs.FileSystemVideoItem.loadDetail(FileSystemVideoItem.java:59)
            at com.inmethod.air.video.v0240.model.BrowseService.getNestedItem(BrowseService.java:354)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at com.inmethod.air.connect.service.ServiceRegistry$ServiceWrapper.invoke(ServiceRegistry.java:221)
            at com.inmethod.air.connect.service.ServiceRegistry.invokeMethod(ServiceRegistry.java:48)
            at com.inmethod.air.connect.service.ServiceRegistry.invokeMethod(ServiceRegistry.java:37)
            at com.inmethod.air.connect.filter.ServiceFilter.doFilter(ServiceFilter.java:82)
            at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
            at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
            at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
            at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
            at org.mortbay.jetty.Server.handle(Server.java:313)
            at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
            at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:844)
            at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:644)
            at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205)
            at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
            at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:227)
            at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
    Caused by: java.io.IOException: Cannot run program "/usr/local/bin/ffmpeg ": java.io.IOException: error=2, No such file or directory
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
            at com.inmethod.process.StandardProcessBuilderDelegate.start(StandardProcessBuilderDelegate.java:76)
            at com.inmethod.process.ProcessBuilder.start(ProcessBuilder.java:111)
            at com.inmethod.air.video.common.ff.FFVideoSnapshotParser.getSnapshot(FFVideoSnapshotParser.java:396)
            ... 26 more
    Caused by: java.io.IOException: java.io.IOException: error=2, No such file or directory
            at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)
            at java.lang.ProcessImpl.start(ProcessImpl.java:65)
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
            ... 29 more
    
  • ffmpegのパーミッションや存在確認するのが常套手段らしいのだが、ちゃんとある。よくみたらapp.propertiesにかかれたpath.ffmpeg=/usr/local/bin/ffmpegのffmpegの右に余計な空白がはいっていた。これを削ればうまくいった。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-04-13 (水) 16:48:23