Recherche avancée

Médias (0)

Mot : - Tags -/navigation

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

Autres articles (78)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Qu’est ce qu’un masque de formulaire

    13 juin 2013, par

    Un masque de formulaire consiste en la personnalisation du formulaire de mise en ligne des médias, rubriques, actualités, éditoriaux et liens vers des sites.
    Chaque formulaire de publication d’objet peut donc être personnalisé.
    Pour accéder à la personnalisation des champs de formulaires, il est nécessaire d’aller dans l’administration de votre MediaSPIP puis de sélectionner "Configuration des masques de formulaires".
    Sélectionnez ensuite le formulaire à modifier en cliquant sur sont type d’objet. (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (13254)

  • 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
  • Live audio using ffmpeg, javascript and nodejs

    8 novembre 2017, par klaus

    I am new to this thing. Please don’t hang me for the poor grammar. I am trying to create a proof of concept application which I will later extend. It does the following : We have a html page which asks for permission to use the microphone. We capture the microphone input and send it via websocket to a node js app.

    JS (Client) :

    var bufferSize = 4096;
    var socket = new WebSocket(URL);
    var myPCMProcessingNode = context.createScriptProcessor(bufferSize, 1, 1);
    myPCMProcessingNode.onaudioprocess = function(e) {
     var input = e.inputBuffer.getChannelData(0);
     socket.send(convertFloat32ToInt16(input));
    }

    function convertFloat32ToInt16(buffer) {
     l = buffer.length;
     buf = new Int16Array(l);
     while (l--) {
       buf[l] = Math.min(1, buffer[l])*0x7FFF;
     }
     return buf.buffer;
    }

    navigator.mediaDevices.getUserMedia({audio:true, video:false})
                                   .then(function(stream){
                                     var microphone = context.createMediaStreamSource(stream);
                                     microphone.connect(myPCMProcessingNode);
                                     myPCMProcessingNode.connect(context.destination);
                                   })
                                   .catch(function(e){});

    In the server we take each incoming buffer, run it through ffmpeg, and send what comes out of the std out to another device using the node js ’http’ POST. The device has a speaker. We are basically trying to create a 1 way audio link from the browser to the device.

    Node JS (Server) :

    var WebSocketServer = require('websocket').server;
    var http = require('http');
    var children = require('child_process');

    wsServer.on('request', function(request) {
     var connection = request.accept(null, request.origin);
     connection.on('message', function(message) {
       if (message.type === 'utf8') { /*NOP*/ }
       else if (message.type === 'binary') {
         ffm.stdin.write(message.binaryData);
       }
     });
     connection.on('close', function(reasonCode, description) {});
     connection.on('error', function(error) {});
    });

    var ffm = children.spawn(
       './ffmpeg.exe'
      ,'-stdin -f s16le -ar 48k -ac 2 -i pipe:0 -acodec pcm_u8 -ar 48000 -f aiff pipe:1'.split(' ')
    );

    ffm.on('exit',function(code,signal){});

    ffm.stdout.on('data', (data) => {
     req.write(data);
    });

    var options = {
     host: 'xxx.xxx.xxx.xxx',
     port: xxxx,
     path: '/path/to/service/on/device',
     method: 'POST',
     headers: {
      'Content-Type': 'application/octet-stream',
      'Content-Length': 0,
      'Authorization' : 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
      'Transfer-Encoding' : 'chunked',
      'Connection': 'keep-alive'
     }
    };

    var req = http.request(options, function(res) {});

    The device supports only continuous POST and only a couple of formats (ulaw, aiff, wav)

    This solution doesn’t seem to work. In the device speaker we only hear something like white noise.

    Also, I think I may have a problem with the buffer I am sending to the ffmpeg std in -> Tried to dump whatever comes out of the websocket to a .wav file then play it with VLC -> it plays everything in the record very fast -> 10 seconds of recording played in about 1 second.

    I am new to audio processing and have searched for about 3 days now for solutions on how to improve this and found nothing.

    I would ask from the community for 2 things :

    1. Is something wrong with my approach ? What more can I do to make this work ? I will post more details if required.

    2. If what I am doing is reinventing the wheel then I would like to know what other software / 3rd party service (like amazon or whatever) can accomplish the same thing.

    Thank you.

  • Why does my Blink based browser play hide and seek ?

    21 janvier 2016, par Caius Jard

    We have a C# tool (that I wrote) that records online broadcasts taking place a custom written (that we wrote) flash app. (There are no DRM or copyright issues here.)

    We’ve coded up a system whereby this tool is installed on a Windows Server 2012 R2 Amazon AWS instance. After we boot the instance, the tool loads, waits for the right time to start recording, launches a browser and passes the command line argument of the URL to access the broadcast. The browser will then load the flash app and the interview audio and video will start arriving at the browser instance on AWS

    By way of a virtual audio cable driver, screen / audio capture directshow filters and ffmpeg a screen recording is taken. The C# tool calls ffmpeg and ffmpeg will record the screen reliably for the entire interview, then the tool shuts the whole thing down

    The problem I’m having is that both Chrome and Electron browser sometimes simply don’t draw themselves on the screen so all ffmpeg ends up recording is a blank desktop and the audio of the broadcast (hence, the browser IS running)

    We found this out when recordings started turning up with X hours of merely recording the windows desktop and the tool’s main window with a countdown timer.

    A screenshotting facility was built into the tool and added to its web control interface, and this way we can test whether the browser is visible - a human looks at the screenshot of every broadcast, just after recording has started (the browser is supposed to be on show by this time)

    We notice that 50% of the time, the browser isn’t drawing itself on screen. By 50% I mean that every other recording that the AWS instance carries out, will be blank : AWS starts, records ok, shuts down. AWS starts again an hour later for a different broadcast, recording is blank, shuts down.. Starts/ok/shutdown. Starts/blank/shutdown. Repeat ad infinitum

    What’s even more strange is that if I run VNCviewer on my dev machine and connect up to an instance that is having a problem, the instant that the VNC connection is up and the remote desktop is showing on my screen, the browser suddenly appears as if nothing was ever wrong. A screenshot from before the VNC connect shows blank desktop, connect VNC, take another screenshot and the browser is there. All through it the audio is fine - the browser connected to the boadcast is fine, for sure

    It’s as though Chrome/Electron thinks "you know what, noone is looking at me so I’m not going to bother drawing myself". No screen saver is set, though the power plan has the setting "turn off the display after 15 minutes".

    Perhaps Chrome/Electron have a test amounts to "if the display is off, don’t draw". I can’t explain the inconsistency though - the recorder launches at least 1 hour before it’s needed, and sits there idle until it’s time to start the browser. You’d hence imagine that the "power off the monitor after 15 mins" setting would reliably have ensured the "monitor" is "off" by the time every recording start comes around

    This behaviour doesn’t happen with any of the other browsers (but unfortunately the app doesn’t and cannot work in them because it uses some weird chrome-only technology/API).

    Can anyone suggest anything to look at to help debug this, or anything I can build into the C# tool to overcome the problem ? Coding it up to connect to itself via VNC for a few seconds after it has launched the browser.. Well that just tastes nasty.

    Naturally, as soon as I connect to the machine via VNC (rather than RDP - RDP isn’t usable because the recording context is in a logged on session for a particular user) the problem goes away, which makes it frustratingly hard to debug.