
Recherche avancée
Médias (3)
-
Elephants Dream - Cover of the soundtrack
17 octobre 2011, par
Mis à jour : Octobre 2011
Langue : English
Type : Image
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (96)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (9254)
-
Reason for write EPIPE error in my implementation ?
25 mai 2019, par Chrisl446I currently have a small node.js express application for uploading images using sharp & thumbnails created from .mp4 videos using simple-thumbnail package/ffmpeg.
The app works perfectly when uploading an image, the file is uploaded sharp processes it, then passes it along and it ends up in my amazon s3 bucket as expected. No errors what so ever.
However, when I upload an mp4 video that I use to create and upload a thumbnail from by using simple-thumbnails genThumbnail() function, which uses ffmpeg child process, the thumbnail uploads successully to my s3 bucket, HOWEVER my app returns an EPIPE write error and NOT the url of the uploaded files url on S3.
What is causing this and how can I fix it, considering it’s pretty much working aside from the EPIPE error that is being returned ? Thanks ahead !
The packages of concern used are as follows :
multer-s3 <- this one with the transform option, not the standard multer-s3 package
const express = require('express');
const app = express();
const aws = require('aws-sdk');
const multer = require('multer');
const multerS3 = require('multer-s3'); //github:gmenih341/multer-s3 version of multer-s3 with transform option
const sharp = require('sharp');
const genThumbnail = require('simple-thumbnail');
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Orgin, X-Requested-With, Content-Type, Accept, Authorization');
if (req.method === 'OPTIONS') {
res.header('Access-Control-Allow-Methods', 'POST');
return res.status(200).json({});
}
next();
});
let uniqueFileName;
let s3BucketName = 'bucketname';
let s3 = new aws.S3({
accessKeyId: ACCESS_KEY,
secretAccessKey: SECRET_KEY,
Bucket: s3BucketName
});
let upload = multer({
storage: multerS3({
s3: s3,
bucket: s3BucketName,
acl: 'public-read',
cacheControl: 'max-age=31536000',
contentType: multerS3.AUTO_CONTENT_TYPE,
shouldTransform: true,
transforms: [{
id: 'thumbnail',
key: function (req, file, cb) {
uniqueFileName = Date.now().toString();
cb(null, uniqueFileName + '.jpg')
},
transform: function (req, file, cb) {
if (file.mimetype == 'video/mp4') {
//When using simple-thumbnails' getThumbnail() on an mp4 video it uploads succesfully to S3 but node returns EPIPE write error
cb(null, genThumbnail(null, null, '250x?'))
} else {
//When using sharp to resize an image this works perfectly and retuns the JSON below with the files S3 URL
cb(null, sharp().jpeg())
}
}
}]
})
});
app.post('/upload', upload.array('theFile'), (req, res) => {
res.json({
fileS3Url: 'https://s3.amazonaws.com/'+ s3BucketName +'/' + uniqueFileName
});
});
app.use((req, res, next) => {
const error = new Error('Not found');
error.status = 404;
next(error);
});
app.use((error, req, res, next) => {
res.status(error.status || 500);
res.json({
error: {
message: error.message
}
});
});
module.exports = app; -
Java.lang.NoClassDefFoundError caused by FFmpeg when deployed on Linux as a packaged .war (Works on development machine)
27 décembre 2016, par Jake MillerI 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:compileError 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 & runningmvn install
there
-
-
Live audio using ffmpeg, javascript and nodejs
8 novembre 2017, par klausI 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 :
-
Is something wrong with my approach ? What more can I do to make this work ? I will post more details if required.
-
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.
-