Recherche avancée

Médias (0)

Mot : - Tags -/tags

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (40)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (4543)

  • Java.lang.NoClassDefFoundError caused by FFmpeg when deployed on Linux as a packaged .war (Works on development machine)

    27 décembre 2016, par Jake Miller

    I use an FFmpeg wrapper to create thumbnails for videos uploaded by users. This works perfectly fine when testing on my development machine. However, whenever I package my project as a .war and deploy to Amazon Web Services, I get the following stack trace :

    Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.javacpp.avutil
       at java.lang.Class.forName0(Native Method) ~[na:1.8.0_101]
       at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_101]
       at org.bytedeco.javacpp.Loader.load(Loader.java:472) ~[javacpp-1.2.1.jar!/:1.2.1]
       at org.bytedeco.javacpp.Loader.load(Loader.java:417) ~[javacpp-1.2.1.jar!/:1.2.1]
       at org.bytedeco.javacpp.avformat$AVFormatContext.<clinit>(avformat.java:2597) ~[ffmpeg-2.8.1-1.1.jar!/:1.2.1]
       at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:391) ~[javacv-1.2.jar!/:1.2]
       at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:385) ~[javacv-1.2.jar!/:1.2]
       at com.myapp.app.service.ICampaignService.createThumbnail(ICampaignService.java:425) ~[classes!/:0.0.44T-SNAPSHOT]
       at com.myapp.app.service.ICampaignService$$FastClassBySpringCGLIB$$47736265.invoke(<generated>) ~[classes!/:0.0.44T-SNAPSHOT]
       at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) ~[spring-aop-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) ~[spring-tx-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:280) ~[spring-tx-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) ~[spring-tx-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) ~[spring-aop-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at com.myapp.app.service.ICampaignService$$EnhancerBySpringCGLIB$$67e59894.createThumbnail(<generated>) ~[classes!/:0.0.44T-SNAPSHOT]
       at com.myapp.app.controllers.CampaignController.uploadCampaign(CampaignController.java:237) ~[classes!/:0.0.44T-SNAPSHOT]
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_101]
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_101]
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_101]
       at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_101]
       at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) ~[spring-web-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) ~[spring-webmvc-4.3.2.RELEASE.jar!/:4.3.2.RELEASE]
       ... 85 common frames omitted
    </generated></generated></clinit>

    Here’s my maven dependencies for the FFmpeg wrapper :

    <dependency>
       <groupid>org.bytedeco</groupid>
       <artifactid>javacv</artifactid>
       <version>1.3</version>
    </dependency>
    <dependency>
       <groupid>org.bytedeco</groupid>
       <artifactid>javacpp</artifactid>
       <version>1.3</version>
    </dependency>
    <dependency>
       <groupid>org.bytedeco.javacpp-presets</groupid>
       <artifactid>ffmpeg</artifactid>
       <version>3.2.1-1.3</version>
    </dependency>
    <dependency>
       <groupid>org.bytedeco.javacpp-presets</groupid>
       <artifactid>opencv-platform</artifactid>
       <version>3.1.0-1.3</version>
    </dependency>

    Again, this library works perfectly fine on my development machine.

    • Development machine : Windows 10, 64-bit (Works)

    • AWS instance:64bit Amazon Linux 2016.09 v2.2.0 running Java 8 (Causes the issue above)

    I’ve spent around 7 hours trying to fix the issue by messing around with versions. Any idea how to solve this issue ?

    EDIT

    Dependency Tree :

    [INFO] +- org.springframework.boot:spring-boot-starter-data-jpa:jar:1.4.0.RELEASE:compile
    [INFO] |  +- org.springframework.boot:spring-boot-starter:jar:1.4.0.RELEASE:compile
    [INFO] |  |  +- org.springframework.boot:spring-boot:jar:1.4.0.RELEASE:compile
    [INFO] |  |  +- org.springframework.boot:spring-boot-autoconfigure:jar:1.4.0.RELEASE:compile
    [INFO] |  |  +- org.springframework.boot:spring-boot-starter-logging:jar:1.4.0.RELEASE:compile
    [INFO] |  |  |  +- ch.qos.logback:logback-classic:jar:1.1.7:compile
    [INFO] |  |  |  |  \- ch.qos.logback:logback-core:jar:1.1.7:compile
    [INFO] |  |  |  +- org.slf4j:jul-to-slf4j:jar:1.7.21:compile
    [INFO] |  |  |  \- org.slf4j:log4j-over-slf4j:jar:1.7.21:compile
    [INFO] |  |  \- org.yaml:snakeyaml:jar:1.17:runtime
    [INFO] |  +- org.springframework.boot:spring-boot-starter-aop:jar:1.4.0.RELEASE:compile
    [INFO] |  |  \- org.aspectj:aspectjweaver:jar:1.8.9:compile
    [INFO] |  +- org.springframework.boot:spring-boot-starter-jdbc:jar:1.4.0.RELEASE:compile
    [INFO] |  |  +- org.apache.tomcat:tomcat-jdbc:jar:8.5.4:compile
    [INFO] |  |  |  \- org.apache.tomcat:tomcat-juli:jar:8.5.4:compile
    [INFO] |  |  \- org.springframework:spring-jdbc:jar:4.3.2.RELEASE:compile
    [INFO] |  +- org.hibernate:hibernate-core:jar:5.0.9.Final:compile
    [INFO] |  |  +- org.jboss.logging:jboss-logging:jar:3.3.0.Final:compile
    [INFO] |  |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
    [INFO] |  |  +- org.javassist:javassist:jar:3.20.0-GA:compile
    [INFO] |  |  +- antlr:antlr:jar:2.7.7:compile
    [INFO] |  |  +- org.jboss:jandex:jar:2.0.0.Final:compile
    [INFO] |  |  +- dom4j:dom4j:jar:1.6.1:compile
    [INFO] |  |  |  \- xml-apis:xml-apis:jar:1.4.01:compile
    [INFO] |  |  \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
    [INFO] |  +- org.hibernate:hibernate-entitymanager:jar:5.0.9.Final:compile
    [INFO] |  +- javax.transaction:javax.transaction-api:jar:1.2:compile
    [INFO] |  +- org.springframework.data:spring-data-jpa:jar:1.10.2.RELEASE:compile
    [INFO] |  |  +- org.springframework.data:spring-data-commons:jar:1.12.2.RELEASE:compile
    [INFO] |  |  +- org.springframework:spring-orm:jar:4.3.2.RELEASE:compile
    [INFO] |  |  +- org.springframework:spring-tx:jar:4.3.2.RELEASE:compile
    [INFO] |  |  \- org.slf4j:jcl-over-slf4j:jar:1.7.21:compile
    [INFO] |  \- org.springframework:spring-aspects:jar:4.3.2.RELEASE:compile
    [INFO] +- org.springframework.boot:spring-boot-starter-security:jar:1.4.0.RELEASE:compile
    [INFO] |  +- org.springframework:spring-aop:jar:4.3.2.RELEASE:compile
    [INFO] |  +- org.springframework.security:spring-security-config:jar:4.1.1.RELEASE:compile
    [INFO] |  \- org.springframework.security:spring-security-web:jar:4.1.1.RELEASE:compile
    [INFO] |     \- org.springframework:spring-expression:jar:4.3.2.RELEASE:compile
    [INFO] +- org.springframework.boot:spring-boot-starter-web:jar:1.4.0.RELEASE:compile
    [INFO] |  +- org.springframework.boot:spring-boot-starter-tomcat:jar:1.4.0.RELEASE:compile
    [INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-core:jar:8.5.4:compile
    [INFO] |  |  +- org.apache.tomcat.embed:tomcat-embed-el:jar:8.5.4:compile
    [INFO] |  |  \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:8.5.4:compile
    [INFO] |  +- org.hibernate:hibernate-validator:jar:5.2.4.Final:compile
    [INFO] |  |  +- javax.validation:validation-api:jar:1.1.0.Final:compile
    [INFO] |  |  \- com.fasterxml:classmate:jar:1.3.1:compile
    [INFO] |  +- com.fasterxml.jackson.core:jackson-databind:jar:2.8.1:compile
    [INFO] |  |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.8.1:compile
    [INFO] |  |  \- com.fasterxml.jackson.core:jackson-core:jar:2.8.1:compile
    [INFO] |  +- org.springframework:spring-web:jar:4.3.2.RELEASE:compile
    [INFO] |  \- org.springframework:spring-webmvc:jar:4.3.2.RELEASE:compile
    [INFO] +- org.springframework.boot:spring-boot-starter-test:jar:1.4.0.RELEASE:test
    [INFO] |  +- org.springframework.boot:spring-boot-test:jar:1.4.0.RELEASE:test
    [INFO] |  +- org.springframework.boot:spring-boot-test-autoconfigure:jar:1.4.0.RELEASE:test
    [INFO] |  +- com.jayway.jsonpath:json-path:jar:2.2.0:test
    [INFO] |  |  \- net.minidev:json-smart:jar:2.2.1:test
    [INFO] |  |     \- net.minidev:accessors-smart:jar:1.1:test
    [INFO] |  |        \- org.ow2.asm:asm:jar:5.0.3:test
    [INFO] |  +- junit:junit:jar:4.12:test
    [INFO] |  +- org.assertj:assertj-core:jar:2.5.0:test
    [INFO] |  +- org.mockito:mockito-core:jar:1.10.19:test
    [INFO] |  |  \- org.objenesis:objenesis:jar:2.1:test
    [INFO] |  +- org.hamcrest:hamcrest-core:jar:1.3:test
    [INFO] |  +- org.hamcrest:hamcrest-library:jar:1.3:test
    [INFO] |  +- org.skyscreamer:jsonassert:jar:1.3.0:test
    [INFO] |  |  \- org.json:json:jar:20140107:test
    [INFO] |  +- org.springframework:spring-core:jar:4.3.2.RELEASE:compile
    [INFO] |  \- org.springframework:spring-test:jar:4.3.2.RELEASE:test
    [INFO] +- org.springframework.security.oauth:spring-security-oauth2:jar:2.0.10.RELEASE:compile
    [INFO] |  +- org.springframework:spring-beans:jar:4.3.2.RELEASE:compile
    [INFO] |  +- org.springframework:spring-context:jar:4.3.2.RELEASE:compile
    [INFO] |  +- org.springframework.security:spring-security-core:jar:4.1.1.RELEASE:compile
    [INFO] |  |  \- aopalliance:aopalliance:jar:1.0:compile
    [INFO] |  +- commons-codec:commons-codec:jar:1.10:compile
    [INFO] |  \- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:compile
    [INFO] |     \- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:compile
    [INFO] +- org.springframework.security:spring-security-jwt:jar:1.0.4.RELEASE:compile
    [INFO] |  \- org.bouncycastle:bcpkix-jdk15on:jar:1.47:compile
    [INFO] |     \- org.bouncycastle:bcprov-jdk15on:jar:1.47:compile
    [INFO] +- mysql:mysql-connector-java:jar:5.1.39:compile
    [INFO] +- commons-io:commons-io:jar:2.5:compile
    [INFO] +- org.apache.commons:commons-lang3:jar:3.0:compile
    [INFO] +- org.bytedeco:javacv:jar:1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:opencv:jar:3.1.0-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:flycapture:jar:2.9.3.43-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:libdc1394:jar:2.2.4-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:libfreenect:jar:0.5.3-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:librealsense:jar:1.9.6-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:videoinput:jar:0.200-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:artoolkitplus:jar:2.3.1-1.3:compile
    [INFO] |  \- org.bytedeco.javacpp-presets:flandmark:jar:1.07-1.3:compile
    [INFO] +- org.bytedeco:javacpp:jar:1.3:compile
    [INFO] +- org.bytedeco.javacpp-presets:ffmpeg:jar:3.2.1-1.3:compile
    [INFO] +- org.bytedeco.javacpp-presets:opencv-platform:jar:3.1.0-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:opencv:jar:android-arm:3.1.0-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:opencv:jar:android-x86:3.1.0-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:opencv:jar:linux-x86:3.1.0-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:opencv:jar:linux-x86_64:3.1.0-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:opencv:jar:linux-armhf:3.1.0-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:opencv:jar:linux-ppc64le:3.1.0-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:opencv:jar:macosx-x86_64:3.1.0-1.3:compile
    [INFO] |  +- org.bytedeco.javacpp-presets:opencv:jar:windows-x86:3.1.0-1.3:compile
    [INFO] |  \- org.bytedeco.javacpp-presets:opencv:jar:windows-x86_64:3.1.0-1.3:compile
    [INFO] +- com.paypal.sdk:rest-api-sdk:jar:1.13.0:compile
    [INFO] |  +- org.slf4j:slf4j-api:jar:1.7.21:compile
    [INFO] |  \- com.google.code.gson:gson:jar:2.7:compile
    [INFO] +- com.squareup.okhttp3:okhttp:jar:3.4.1:compile
    [INFO] |  \- com.squareup.okio:okio:jar:1.9.0:compile
    [INFO] +- javax.mail:mail:jar:1.4:compile
    [INFO] |  \- javax.activation:activation:jar:1.1:compile
    [INFO] \- com.amazonaws:aws-java-sdk:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-support:jar:1.11.58:compile
    [INFO]    |  \- com.amazonaws:jmespath-java:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-simpledb:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-servicecatalog:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-servermigration:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-simpleworkflow:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-storagegateway:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-route53:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-s3:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-importexport:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-sts:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-sqs:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-rds:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-redshift:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-elasticbeanstalk:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-glacier:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-iam:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-datapipeline:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-elasticloadbalancing:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-elasticloadbalancingv2:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-emr:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-elasticache:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-elastictranscoder:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-ec2:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-dynamodb:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-sns:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-budgets:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cloudtrail:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cloudwatch:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-logs:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-events:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cognitoidentity:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cognitosync:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-directconnect:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cloudformation:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cloudfront:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-kinesis:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-opsworks:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-ses:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-autoscaling:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cloudsearch:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cloudwatchmetrics:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-codedeploy:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-codepipeline:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-kms:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-config:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-lambda:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-ecs:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-ecr:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cloudhsm:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-ssm:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-workspaces:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-machinelearning:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-directory:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-efs:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-codecommit:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-devicefarm:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-elasticsearch:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-waf:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-marketplacecommerceanalytics:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-inspector:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-iot:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-api-gateway:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-acm:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-gamelift:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-dms:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-marketplacemeteringservice:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-cognitoidp:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-discovery:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-applicationautoscaling:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-snowball:jar:1.11.58:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-core:jar:1.11.58:compile
    [INFO]    |  +- commons-logging:commons-logging:jar:1.1.3:compile
    [INFO]    |  +- org.apache.httpcomponents:httpclient:jar:4.5.2:compile
    [INFO]    |  |  \- org.apache.httpcomponents:httpcore:jar:4.4.5:compile
    [INFO]    |  +- software.amazon.ion:ion-java:jar:1.0.1:compile
    [INFO]    |  +- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:jar:2.8.1:compile
    [INFO]    |  \- joda-time:joda-time:jar:2.9.4:compile
    [INFO]    +- com.amazonaws:aws-java-sdk-models:jar:1.11.58:compile
    [INFO]    \- com.amazonaws:aws-java-sdk-swf-libraries:jar:1.11.22:compile

    Error after upgrading Linux to 2.4, downgrading javacpp to 1.2.1, and running mvn clean :

    java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.javacpp.avutil
       at java.lang.Class.forName0(Native Method) ~[na:1.8.0_111]
       at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_111]
       at org.bytedeco.javacpp.Loader.load(Loader.java:472) ~[javacpp-1.2.1.jar!/:1.2.1]
       at org.bytedeco.javacpp.Loader.load(Loader.java:417) ~[javacpp-1.2.1.jar!/:1.2.1]
       at org.bytedeco.javacpp.avformat$AVFormatContext.<clinit>(avformat.java:2819) ~[ffmpeg-3.2.1-1.3.jar!/:1.2.1]
       at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:391) ~[javacv-1.3.jar!/:1.3]
       at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:385) ~[javacv-1.3.jar!/:1.3]
    </clinit>

    WHAT I’VE TRIED SO FAR

    • upgrade to Linux to 2.4
    • downgrading javacpp to 1.2.1
    • running mvn clean
    • running mvn -U
    • deleting contents of /.m2/ and redownloading dependencies
    • various combinations of dependency versions
    • git clone on a Linux VM & running mvn install there
  • Unable to transfer continuous FFmpeg buffer to client browser using node.js

    10 décembre 2016, par chintitomasud

    I have tried to process a Video file transcoding on demand by using FFmpeg to transfer the chunk(buffer) to the client browser as mp4 format but I failed to show the mp4 content on html5 video player . Without using ffmpeg all code run properly . I have replaced createReadSteam with ffmpeg . Using it I have faced some problems. FFmpeg is new to me and I ’m kind of confused with spawn method. When I post a url path it shows the following text on the command line

    Spawning new process /samiul113039/1080.mp4:GET

    piping ffmpeg output to client, pid 10016

    HTTP connection disrupted, killing ffmpeg : 10016

    Spawning new process /samiul113039/1080.mp4:GET

    piping ffmpeg output to client, pid 4796

    HTTP connection disrupted, killing ffmpeg : 4796

    ffmpeg didn’t quit on q, sending signals ffmpeg has exited : 10016,

    code null ffmpeg didn’t quit on q, sending signals ffmpeg has exited :
    4796, code nul

    =

    var fs=require('fs');

    var url=require("url");
    var urlvalue="http://csestudents.uiu.ac.bd/samiul113039/1080.mp4";


    var parseurl=url.parse(urlvalue);

    var HDHomeRunIP = parseurl.hostname;
    var HDHomeRunPort = parseurl.port;
    var childKillTimeoutMs = 1000;

    var parseArgs = require('minimist')(process.argv.slice(2));

    // define startsWith for string
    if (typeof String.prototype.startsWith != 'function') {
     // see below for better implementation!
     String.prototype.startsWith = function (str){
       return this.indexOf(str) == 0;
     };
    }
    // Called when the response object fires the 'close' handler, kills ffmpeg
    function responseCloseHandler(command) {
     if (command.exited != true) {
       console.log('HTTP connection disrupted, killing ffmpeg: ' + command.pid);
       // Send a 'q' which signals ffmpeg to quit.
       // Then wait half a second, send a nice signal, wait another half second
       // and send SIGKILL
       command.stdin.write('q\n');
       command.stdin.destroy();
       // install timeout and wait
       setTimeout(function() {
         if (command.exited != true) {
           console.log('ffmpeg didn\'t quit on q, sending signals');
           // still connected, do safe sig kills
           command.kill();
           try {
             command.kill('SIGQUIT');
           } catch (err) {}
           try {
             command.kill('SIGINT');
           } catch (err) {}
           // wait some more!
           setTimeout(function() {
             if (command.exited != true) {
               console.log('ffmpeg didn\'t quit on signals, sending SIGKILL');
               // at this point, just give up and whack it
               try {
                 command.kill('SIGKILL');
               } catch (err) {}
             }
           }, childKillTimeoutMs);
         }    
       }, childKillTimeoutMs);
     }
    }

    // Performs a proxy. Copies data from proxy_request into response
    function doProxy(request,response,http,options) {
     var proxy_request = http.request(options, function (proxy_response) {
       proxy_response.on('data', function(chunk) {
         response.write(chunk, 'binary');
       });
       proxy_response.on('end', function() {
         response.end();
       });
       response.writeHead(proxy_response.statusCode, proxy_response.headers);
     });
     request.on('data', function(chunk) {
       proxy_request.write(chunk, 'binary');
     });
     // error handler
     proxy_request.on('error', function(e) {
       console.log('problem with request: ' + e.message);
       response.writeHeader(500);
       response.end();
     });

     proxy_request.end();
    }

    var child_process = require('child_process');
    var auth = require('./auth');
    // Performs the transcoding after the URL is validated
    function doTranscode(request,response) {
     //res.setHeader("Accept-Ranges", "bytes");
     response.setHeader("Accept-Ranges", "bytes");
     response.setHeader("Content-Type", "video/mp4");        
     response.setHeader("Connection","close");
     response.setHeader("Cache-Control","no-cache");
     response.setHeader("Pragma","no-cache");

     // always write the header
     response.writeHeader(200);

     // if get, spawn command stream it
     if (request.method == 'GET') {
       console.log('Spawning new process ' + request.url + ":" + request.method);

    var command = child_process.spawn('ffmpeg',
                                         ['-i','http://csestudents.uiu.ac.bd/samiul113039/1080.mp4','-f','mpegts','-'],
                                         { stdio: ['pipe','pipe','ignore'] });

        command.exited = false;
       // handler for when ffmpeg dies unexpectedly
       command.on('exit',function(code,signal) {
         console.log('ffmpeg has exited: ' + command.pid + ", code " + code);
         // set flag saying we've quit
         command.exited = true;
         response.end();
       });
       command.on('error',function(error) {
         console.log('ffmpeg error handler - unable to kill: ' + command.pid);
         // on well, might as well give up
         command.exited = true;
         try {
           command.stdin.close();
         } catch (err) {}
         try {
           command.stdout.close();
         } catch (err) {}
         try {
           command.stderr.close();
         } catch (err) {}
         response.end();
       });
       // handler for when client closes the URL connection - stop ffmpeg
       response.on('end',function() {
        responseCloseHandler(command);
       });
       // handler for when client closes the URL connection - stop ffmpeg
       response.on('close',function() {
         responseCloseHandler(command);
       });

       // now stream
       console.log('piping ffmpeg output to client, pid ' + command.pid);
       command.stdout.pipe(response);
       command.stdin.on('error',function(err) {
         console.log("Weird error in stdin pipe ", err);
         response.end();
       });
       command.stdout.on('error',function(err) {
         console.log("Weird error in stdout pipe ",err);
         response.end();
       });
     }
     else {
       // not GET, so close response
       response.end();
     }
    }

    // Load the http module to create an http server.
    var http = require('http');

    // Configure our HTTP server to respond with Hello World to all requests.
    var server = http.createServer(function (request, response) {
     //console.log("New connection from " + request.socket.remoteAddress + ":" + request.url);

     if (auth.validate(request,response)) {
       // first send a HEAD request to our HD Home Run with the same url to see if the address is valid.
       // This prevents an ffmpeg instance to spawn when clients request invalid things - like robots.txt/etc
       var options = {method: 'HEAD', hostname: HDHomeRunIP, port: HDHomeRunPort, path: request.url};
       var req = http.request(options, function(res) {
         // if they do a get, and it returns good status
         if (request.method == "GET" &amp;&amp;
             res.statusCode == 200 &amp;&amp;
             res.headers["content-type"] != null &amp;&amp;
             res.headers["content-type"].startsWith("video")) {
           // transcode is possible, start it now!
           doTranscode(request,response);
         }
         else {
           // no video or error, cannot transcode, just forward the response from the HD Home run to the client
           if (request.method == "HEAD") {
             response.writeHead(res.statusCode,res.headers);
             response.end();
           }
           else {
             // do a 301 redirect and have the device response directly  

             // just proxy it, that way browser doesn't redirect to HDHomeRun IP but keeps the node.js server IP
             options = {method: request.method, hostname: HDHomeRunIP, /* port: HDHomeRunPort, */path: request.url};
             doProxy(request,response,http,options);
           }
         }
       });
       req.on('error', function(e) {
         console.log('problem with request: ' + e.message);
         response.writeHeader(500);
         response.end();
       });
       // finish the client request, rest of processing done in the async callbacks
       req.end();
     }
    });

    // turn on no delay for tcp
    server.on('connection', function (socket) {
     socket.setNoDelay(true);
    });
    server.listen(7000);

    stdio : [’pipe’,’pipe’,’ignore’]
    Actually the code was written by someone. i have just modified the code.
    [’pipe’,’pipe’,’ignore’] what does pipe,pipe.ignore mean here,

  • hevc : rename hevc.[ch] to hevcdec.[ch]

    21 août 2016, par Anton Khirnov
    hevc : rename hevc.[ch] to hevcdec.[ch]
    

    This is more consistent with the rest of libav and frees up the hevc.h
    name for decoder-independent shared declarations.

    • [DBH] libavcodec/Makefile
    • [DBH] libavcodec/dxva2_hevc.c
    • [DBH] libavcodec/hevc_cabac.c
    • [DBH] libavcodec/hevc_data.c
    • [DBH] libavcodec/hevc_filter.c
    • [DBH] libavcodec/hevc_mp4toannexb_bsf.c
    • [DBH] libavcodec/hevc_mvs.c
    • [DBH] libavcodec/hevc_parser.c
    • [DBH] libavcodec/hevc_ps.c
    • [DBH] libavcodec/hevc_ps_enc.c
    • [DBH] libavcodec/hevc_refs.c
    • [DBH] libavcodec/hevc_sei.c
    • [DBH] libavcodec/hevcdec.c
    • [DBH] libavcodec/hevcdec.h
    • [DBH] libavcodec/hevcdsp_template.c
    • [DBH] libavcodec/hevcpred.c
    • [DBH] libavcodec/hevcpred_template.c
    • [DBH] libavcodec/qsvenc_hevc.c
    • [DBH] libavcodec/vaapi_encode_h265.c
    • [DBH] libavcodec/vdpau_hevc.c
    • [DBH] libavformat/hevc.c
    • [DBH] libavformat/hevcdec.c