Recherche avancée

Médias (1)

Mot : - Tags -/sintel

Autres articles (85)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

  • Submit enhancements and plugins

    13 avril 2011

    If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
    You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.

Sur d’autres sites (5477)

  • Maven dependency works on machine but not when packaged in a .war - org.bytedeco.javacpp.avutil

    26 décembre 2016, par Jake Miller

    I have a web app where you can upload a video and a thumbnail is created for this video. It works completely fine on my machine, but as soon as I deploy to AWS (Amazon Web Services) as a .war file, I experience dependency issues with maven.

    Here’s the exception from the logs :

    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 are my maven dependencies for the ffmpeg wrapper I’m using :

    <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>

    I’ve tried various different versions but nothing has worked so far. What’s strange is the error says org.bytedeco.javacpp.avutil but I have access to the avutil class in my IDE.

    EDIT

    I’ve also tried everything at this github post : https://github.com/bytedeco/javacpp-presets/issues/225

    No solution I’ve found has worked. I’ve tried various different versions and various different org.bytedeco dependencies but they all yield the same error.

  • FFMPEG concat video throws No Such Filter error

    5 janvier 2021, par Rohan Shah

    I am trying to concat three videos using FFMPEG,

    &#xA;

    This is my command that I am executing using Java Runtime

    &#xA;

        String command = "ffmpeg -i url_to_video -i url_to_video -i url_to_video -filter_complex [0:v] [0:a] [1:v] [1:a] [2:v] [2:a] concat=n=3:v=1:a=1 [v] [a] -map [v] -map [a] /home/rohan/output.mp4";&#xA;&#xA;    Process process = Runtime.getRuntime().exec(command.split(" "));&#xA;

    &#xA;

    This is throwing me No Such Filter error, whereas if I try to run this via Terminal it works perfectly fine. I tried tweaking the cmd by removing or adding quotes, but any variant of this command that runs on terminal throws error in Java Runtime. While it runs perfectly on the Terminal.

    &#xA;

    I have tried with Absolute paths and Amazon S3 URLs, while both of them work just fine in terminal, The S3 variant of command throws No Such Filter error and the Absolute path command throws a No Such File Or Directory error during Runtime.

    &#xA;

    Here is the stack trace of the error

    &#xA;

    Here is the standard error of the command (if any):&#xA;&#xA;ffmpeg version n4.3.1 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)&#xA;  configuration: --prefix= --prefix=/usr --disable-debug --disable-doc --disable-static --enable-cuda --enable-cuda-sdk --enable-cuvid --enable-libdrm --enable-ffplay --enable-gnutls --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libmp3lame --enable-libnpp --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopus --enable-libpulse --enable-sdl2 --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-nonfree --enable-nvenc --enable-omx --enable-openal --enable-opencl --enable-runtime-cpudetect --enable-shared --enable-vaapi --enable-vdpau --enable-version3 --enable-xlib&#xA;  libavutil      56. 51.100 / 56. 51.100&#xA;  libavcodec     58. 91.100 / 58. 91.100&#xA;  libavformat    58. 45.100 / 58. 45.100&#xA;  libavdevice    58. 10.100 / 58. 10.100&#xA;  libavfilter     7. 85.100 /  7. 85.100&#xA;  libswscale      5.  7.100 /  5.  7.100&#xA;  libswresample   3.  7.100 /  3.  7.100&#xA;  libpostproc    55.  7.100 / 55.  7.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;https://openxcell-development-public.s3.ap-south-1.amazonaws.com/bhit/outputForBHit.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf58.45.100&#xA;  Duration: 00:00:10.57, start: 0.000000, bitrate: 2048 kb/s&#xA;    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1696 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 347 kb/s (default)&#xA;    Metadata:&#xA;      handler_name    : SoundHandler&#xA;Input #1, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;https://openxcell-development-public.s3.ap-south-1.amazonaws.com/bhit/outputForBHit.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf58.45.100&#xA;  Duration: 00:00:10.57, start: 0.000000, bitrate: 2048 kb/s&#xA;    Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1696 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;    Stream #1:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 347 kb/s (default)&#xA;    Metadata:&#xA;      handler_name    : SoundHandler&#xA;Input #2, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;https://openxcell-development-public.s3.ap-south-1.amazonaws.com/bhit/outputForBHit.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf58.45.100&#xA;  Duration: 00:00:10.57, start: 0.000000, bitrate: 2048 kb/s&#xA;    Stream #2:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1696 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;    Stream #2:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 347 kb/s (default)&#xA;    Metadata:&#xA;      handler_name    : SoundHandler&#xA;[AVFilterGraph @ 0x564151595680] No such filter: &#x27;&#x27;&#xA;Error initializing complex filters.&#xA;Invalid argument&#xA;

    &#xA;

  • ffmpeg + AWS Lambda issues. Won't compress full video

    7 juillet 2022, par Joesph Stah Lynn

    So I followed this tutorial to set everything up, and changed the function a bit to compress video, but no matter what I try, on larger videos (basically anything over 50-100MB), the output file will always be cut short, and depending on the encoding settings I'm using, will be cut by different amounts. I tried using the solution found here, adding a -nostdin flag to my ffmpeg command, but that also didn't seem to fix the issue.
    &#xA;Another odd thing, is no matter what I try, if I remove the '-f mpegts' flag, the output video will be 0B.
    &#xA;My Lambda function is set up with 3008MB of Memory (submitted a ticket to get my limit upped so I can use the full 10240MB available), and 2048MB of Ephemeral storage (I honestly am not sure if I need anything more than the minimum 512, but I upped it to try and fix the issue). When I check my cloudwatch logs, on really large files, it will occasionally time out, but other than that, I will get no error messages, just the standard start, end, and billable time messages.

    &#xA;

    This is the code for my lambda function.

    &#xA;

    import json&#xA;import os&#xA;import subprocess&#xA;import shlex&#xA;import boto3&#xA;&#xA;S3_DESTINATION_BUCKET = "rw-video-out"&#xA;SIGNED_URL_TIMEOUT = 600&#xA;&#xA;def lambda_handler(event, context):&#xA;&#xA;    s3_source_bucket = event[&#x27;Records&#x27;][0][&#x27;s3&#x27;][&#x27;bucket&#x27;][&#x27;name&#x27;]&#xA;    s3_source_key = event[&#x27;Records&#x27;][0][&#x27;s3&#x27;][&#x27;object&#x27;][&#x27;key&#x27;]&#xA;&#xA;    s3_source_basename = os.path.splitext(os.path.basename(s3_source_key))[0]&#xA;    s3_destination_filename = s3_source_basename &#x2B; "-comp.mp4"&#xA;&#xA;    s3_client = boto3.client(&#x27;s3&#x27;)&#xA;    s3_source_signed_url = s3_client.generate_presigned_url(&#x27;get_object&#x27;,&#xA;        Params={&#x27;Bucket&#x27;: s3_source_bucket, &#x27;Key&#x27;: s3_source_key},&#xA;        ExpiresIn=SIGNED_URL_TIMEOUT)&#xA;&#xA;    ffmpeg_cmd = f"/opt/bin/ffmpeg -nostdin -i {s3_source_signed_url} -f mpegts libx264 -preset fast -crf 28 -c:a copy - "&#xA;    command1 = shlex.split(ffmpeg_cmd)&#xA;    p1 = subprocess.run(command1, stdout=subprocess.PIPE, stderr=subprocess.PIPE)&#xA;    resp = s3_client.put_object(Body=p1.stdout, Bucket=S3_DESTINATION_BUCKET, Key=s3_destination_filename)&#xA;    s3 = boto3.resource(&#x27;s3&#x27;)&#xA;    s3.Object(s3_source_bucket,s3_source_key).delete()&#xA;&#xA;    return {&#xA;        &#x27;statusCode&#x27;: 200,&#xA;        &#x27;body&#x27;: json.dumps(&#x27;Processing complete successfully&#x27;)&#xA;    }&#xA;

    &#xA;

    This is the code from the solution I mentioned, but when I try using this code, I get output.mp4 not found errors

    &#xA;

    def lambda_handler(event, context):&#xA;    print(event)&#xA;    os.chdir(&#x27;/tmp&#x27;)&#xA;    s3_source_bucket = event[&#x27;Records&#x27;][0][&#x27;s3&#x27;][&#x27;bucket&#x27;][&#x27;name&#x27;]&#xA;    s3_source_key = event[&#x27;Records&#x27;][0][&#x27;s3&#x27;][&#x27;object&#x27;][&#x27;key&#x27;]&#xA;&#xA;    s3_source_basename = os.path.splitext(os.path.basename(s3_source_key))[0]&#xA;    s3_destination_filename = s3_source_basename &#x2B; ".mp4"&#xA;&#xA;    s3_client = boto3.client(&#x27;s3&#x27;)&#xA;    s3_source_signed_url = s3_client.generate_presigned_url(&#x27;get_object&#x27;,&#xA;        Params={&#x27;Bucket&#x27;: s3_source_bucket, &#x27;Key&#x27;: s3_source_key},&#xA;        ExpiresIn=SIGNED_URL_TIMEOUT)&#xA;    print(s3_source_signed_url)&#xA;    s3_client.download_file(s3_source_bucket,s3_source_key,s3_source_key)&#xA;    # ffmpeg_cmd = "/opt/bin/ffmpeg -framerate 25 -i \"" &#x2B; s3_source_signed_url &#x2B; "\" output.mp4 "&#xA;    ffmpeg_cmd = f"/opt/bin/ffmpeg -framerate 25 -i {s3_source_key} output.mp4 "&#xA;    # command1 = shlex.split(ffmpeg_cmd)&#xA;    # print(command1)&#xA;    os.system(ffmpeg_cmd)&#xA;    # os.system(&#x27;ls&#x27;)&#xA;    # p1 = subprocess.run(command1, stdout=subprocess.PIPE, stderr=subprocess.PIPE)&#xA;    file = &#x27;output.mp4&#x27;&#xA;    resp = s3_client.put_object(Body=open(file,"rb"), Bucket=S3_DESTINATION_BUCKET, Key=s3_destination_filename)&#xA;    # resp = s3_client.put_object(Body=p1.stdout, Bucket=S3_DESTINATION_BUCKET, Key=s3_destination_filename)&#xA;    s3 = boto3.resource(&#x27;s3&#x27;)&#xA;    s3.Object(s3_source_bucket,s3_source_key).delete()&#xA;    return {&#xA;        &#x27;statusCode&#x27;: 200,&#xA;        &#x27;body&#x27;: json.dumps(&#x27;Processing complete successfully&#x27;)&#xA;    }&#xA;

    &#xA;

    Any help would be greatly appreciated.

    &#xA;