Recherche avancée

Médias (21)

Mot : - Tags -/Nine Inch Nails

Autres articles (51)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

Sur d’autres sites (9444)

  • Dreamcast Finds

    15 avril 2022, par Multimedia Mike — Sega Dreamcast

    Pursuant to my recent post about finally understanding how Sega Dreamcast GD-ROM rips are structured, I was able to prepare the contents of various demo discs in a manner that makes exploration easy via the Internet Archive. This is due to the way that IA makes it easy to browse archives such as ZIP or ISO files (anything that 7zip knows how to unpack), and also presents the audio tracks for native playback directly through the web browser.

    These are some of the interesting things I have found while perusing the various Dreamcast sampler discs.

    Multimedia Formats
    First and foremost : Multimedia-wise, SFD and ADX files abound on all the discs. SFD files are Sofdec, a middleware format used for a lot of FMV on Dreamcast games. These were little more than MPEG video files with a non-MPEG (ADPCM instead) audio codec. VLC will usually play the video portions of these files but has trouble detecting the audio. It’s not for lack of audio codec support because it can play the ADX files just fine.

    It should be noted that Dreamcast Magazine Disc 11 has an actual .mpg file (as opposed to a .sfd file) that has proper MPEG audio instead instead of ADX ADPCM.

    The only other multimedia format I know of that was used in any Dreamcast games was 4XM, used on Alone In The Dark : The New Nightmare. I wrote a simple C tool a long time to recover these files from a disc image I extracted myself. Rather than interpreting the ISO-9660 filesystem, the tool just crawled through the binary blob searching for ‘4XMV’ file signatures and using length data within the files for extraction.

    Also, there are plentiful PVR files (in reference to the PowerVR2 GPU hardware that the DC uses) which ‘file’ dutifully identifies as “Sega PVR image”. There are probably tools to view them. It doesn’t appear to be a complicated format.

    Scripting
    I was fascinated to see Lua files on at least one of the discs. It turns out that MDK 2 leverages the language, as several other games do. But it was still interesting to see the .lua files show up in the Dreamcast version as well.

    That Windows CE Logo
    Every Sega Dreamcast is famously emblazoned with a logo mentioning Microsoft Windows CE :


    Windows CE Logo on Dreamcast

    It has confused many folks. It also confused me until this exploratory exercise. Many would wonder if the Dreamcast booted up into some Windows CE OS environment that then ran the game, but that certainly wasn’t it. Indeed, Dreamcast was one of the last consoles that really didn’t have any kind of hypervisor operating system managing everything.

    I found a file called rt2dc.exe on one sampler disc. At first, I suspected that this was a development utility for Windows to convert some “RT” graphical format into a format more suitable for the Dreamcast. Then, ‘file’ told me that it was actually a Windows EXE but compiled for the Hitachi SH-4 CPU (the brain inside the DC). Does the conversion utility run on the Dreamcast itself ? Then I analyzed the strings inside the binary and saw references to train stations. That’s when it started to click for me that this was the binary executable for the demo version of Railroad Tycoon 2 : Gold Edition, hence “rt2dc.exe”. Still, this provides some insight about whether Dreamcast “runs” Windows. This binary was built against a series of Windows CE libraries. The symbols also imply DirectX compatibility.

    Here is a page with more info about the WinCE/DirectX variant for the Sega Dreamcast. It seems that this was useful for closing the gap between PC and DC ports of games (i.e., being able to re-use more code between the 2 platforms). I guess this was part of what made Dreamcast a dry run for the DirectXbox (later Xbox).

    Here is a list of all the Dreamcast games that are known to use Windows CE.

    Suddenly, I am curious if tools such as IDA Pro or Ghidra can possibly open up Windows CE binaries that contain SH-4 code. Not that I’m particularly interested in reverse engineering any algorithms locked up in Dreamcast land.

    Tomb Raider Easter Egg
    The volume 6 sampler disc has a demo of Tomb Raider : The Last Revelation. While inspecting the strings, I found an Easter egg. I was far from the first person to discover it, though, as seen on this The Cutting Room Floor wiki page (look under “Developer Message”). It looks like I am the first person to notice it on the Dreamcast version. It shows up at offset 0xE3978 in the Dreamcast (demo version) binary, if anyone with permissions wants to update the page.

    Web Browser
    Then there’s the Web Browser for Sega Dreamcast. It seemed to be included on a lot of these sampler discs. But only mentioning the web browser undersells it– the thing also bundled an email client and an IRC client. It’s important to remember that the Dreamcast also had a keyboard peripheral.

    I need to check the timeline for when the web browser first became available vs. when the MIL-CD hack became known. My thinking is that there is no way that the web browser program didn’t have some security issues– buffer overflows and the like. It seems like this would have been a good method of breaking the security of the system.

    Ironically, I suddenly can think of a reason why one might want to use advanced reverse engineering tools on Dreamcast binaries, something I struggled with just a few paragraphs ago.

    Odds ‘n Ends
    It’s always fun to find plain text files among video game assets and speculating on the precise meaning… while also marveling how long people have been struggling to correctly spell “length”.

    Internationalization via plain text files.

    Another game (Slave Zero) saw fit to zip its assets. Maybe this was to save space in order to fit everything on the magazine sampler disc. Quizzically, this didn’t really save an appreciable amount of space.

    Finally, all the discs have an audio track 2 that advises that the disc must be played in a Dreamcast console. Not unusual. However, volume 4 also has a Japanese lady saying the same thing on track 4. This is odd because track 4 is one of the GD area audio tracks and is not accessible with normal CD hardware. Further, she identifies the disc as a “Windows CE disc”.

    The post Dreamcast Finds first appeared on Breaking Eggs And Making Omelettes.

  • How to Show result after uploaded file in PHP

    23 avril 2022, par i0x4r

    I have a script that uploads the video to a server, everything is correct but there is a problem, after the upload of the video to the server is completed
it shows all the uploaded files in the (uploads) folder as array !

    


    I only want the result of the file I just uploaded, and it doesn't show me the previous files !
I need ffmpeg to improve video quality

    


    index.php

    


    &lt;?php&#xA;//index.php&#xA;&#xA;?>&#xA;&#xA;&#xA; &#xA;  &#xA;  &#xA;  <code class="echappe-js">&lt;script src=&quot;https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js&quot;&gt;&lt;/script&gt;&#xA;        &lt;script src=&quot;https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js&quot;&gt;&lt;/script&gt;        &#xA;  &#xA;  &lt;script src=&quot;https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.5.1/dropzone.js&quot;&gt;&lt;/script&gt;&#xA;  &#xA; &#xA; &#xA;  
    &#xA;&#xA;
    &#xA;&#xA;

    &#xA; &#xA; &#xA; &#xA;
    &#xA;&#xA;

    &#xA;&#xA;
    &#xA;

    &#xA; &#xA;&#xA;&#xA;&lt;script&gt;&amp;#xA;&amp;#xA;$(document).ready(function(){&amp;#xA; &amp;#xA; Dropzone.options.dropzoneFrom = {&amp;#xA;  autoProcessQueue: true,&amp;#xA;  timeout: 300000,&amp;#xA;  acceptedFiles:&quot;video/*&quot;,&amp;#xA;  init: function(){&amp;#xA;   var submitButton = document.querySelector(&amp;#x27;#submit-all&amp;#x27;);&amp;#xA;   myDropzone = this;&amp;#xA;   submitButton.addEventListener(&quot;click&quot;, function(){&amp;#xA;    myDropzone.processQueue();&amp;#xA;   });&amp;#xA;   this.on(&quot;complete&quot;, function(){&amp;#xA;    if(this.getQueuedFiles().length == 0 &amp;amp;&amp;amp; this.getUploadingFiles().length == 0)&amp;#xA;    {&amp;#xA;     var _this = this;&amp;#xA;     _this.removeAllFiles();&amp;#xA;    }&amp;#xA;    list_image();&amp;#xA;   });&amp;#xA;  },&amp;#xA; };&amp;#xA;&amp;#xA; list_image();&amp;#xA;&amp;#xA; function list_image()&amp;#xA; {&amp;#xA;  $.ajax({&amp;#xA;   url:&quot;upload.php&quot;,&amp;#xA;   success:function(data){&amp;#xA;    $(&quot;#preview&quot;).html(data);&amp;#xA;   }&amp;#xA;  });&amp;#xA; }&amp;#xA;&amp;#xA; $(document).on(&amp;#x27;click&amp;#x27;, &amp;#x27;.remove_image&amp;#x27;, function(){&amp;#xA;  var name = $(this).attr(&amp;#x27;id&amp;#x27;);&amp;#xA;  $.ajax({&amp;#xA;   url:&quot;upload.php&quot;,&amp;#xA;   method:&quot;POST&quot;,&amp;#xA;   data:{name:name},&amp;#xA;   success:function(data)&amp;#xA;   {&amp;#xA;    list_image();&amp;#xA;   }&amp;#xA;  })&amp;#xA; });&amp;#xA; &amp;#xA;});&amp;#xA;&lt;/script&gt;&#xA;

    &#xA;

    upload.php

    &#xA;

        &lt;?php&#xA;&#xA;//upload.php&#xA;&#xA;$folder_name = &#x27;upload/&#x27;;&#xA;$tumb_name = &#x27;thumb/&#x27;;&#xA;$imageext = &#x27;.png&#x27;;&#xA;&#xA;if(!empty($_FILES))&#xA;{&#xA;&#xA; $temp_file = $_FILES[&#x27;file&#x27;][&#x27;tmp_name&#x27;];&#xA; $location = $folder_name . $_FILES[&#x27;file&#x27;][&#x27;name&#x27;];&#xA; move_uploaded_file($temp_file, $location);&#xA; $upload = $_FILES[&#x27;file&#x27;][&#x27;name&#x27;];&#xA; $uploadStr = str_replace(" ", "\ ",$upload);&#xA; $locationStr = str_replace(" ","\ ",$location);&#xA; $cmd  = "ffmpeg -y -i {$locationStr} -ss 00:00:15 -vframes 1 thumb/{$uploadStr}.png 2>&amp;1";&#xA; echo shell_exec($cmd);&#xA;}&#xA;&#xA;if(isset($_POST["name"]))&#xA;{&#xA; $filename = $folder_name.$_POST["name"];&#xA; $imagename = $thumb_name.$_POST["name"].$imageext;&#xA; unlink($filename);&#xA; unlink($imagename);&#xA;}&#xA;&#xA;$result = array();&#xA;&#xA;$files = scandir(&#x27;upload&#x27;);&#xA;&#xA;$output = &#x27;<div class="row">&#x27;;&#xA;&#xA;if(false !== $files)&#xA;{&#xA; foreach($files as $file)&#xA; {&#xA;  if(&#x27;.&#x27; !=  $file &amp;&amp; &#x27;..&#x27; != $file)&#xA;  {&#xA;   $output .= &#x27;&#xA;   <a href="http://stackoverflow.com/view.php?file=&#38;#x27;.$file.&#38;#x27;" target="_blank"> <img src="http://stackoverflow.com/feeds/tag/thumb/&#38;#x27;.$file.&#38;#x27;.png" class="img-thumbnail" width='246' height='138' /></a>&#xA;    <button type="button" class="btn btn-link remove_image">Remove</button>&#xA;   &#x27;;&#xA;  }&#xA; }&#xA;}&#xA;$output .= &#x27;</div>&#x27;;&#xA;echo $output;&#xA;&#xA;?>&#xA;

    &#xA;

    EDIT :&#xA;I put the example on an Array, I don't want it, I just want it to show the downloaded video I just uploaded as a result.

    &#xA;

    EDIT 2 :&#xA;There are some who say type $location and it displays the downloaded file, but this does not work !!!&#xA;I just tried more than once and with several uses, there is no display where the text is empty

    &#xA;

    This is an example of that

    &#xA;

    &lt;?php&#xA;&#xA;//upload.php&#xA;&#xA;$folder_name = &#x27;upload/&#x27;;&#xA;$tumb_name = &#x27;thumb/&#x27;;&#xA;$imageext = &#x27;.png&#x27;;&#xA;&#xA;if(!empty($_FILES))&#xA;{&#xA;&#xA; $temp_file = $_FILES[&#x27;file&#x27;][&#x27;tmp_name&#x27;];&#xA; $location = $folder_name . $_FILES[&#x27;file&#x27;][&#x27;name&#x27;];&#xA; move_uploaded_file($temp_file, $location);&#xA; $upload = $_FILES[&#x27;file&#x27;][&#x27;name&#x27;];&#xA; $uploadStr = str_replace(" ", "\ ",$upload);&#xA; $locationStr = str_replace(" ","\ ",$location);&#xA; $cmd  = "ffmpeg -y -i {$locationStr} -ss 00:00:15 -vframes 1 thumb/{$uploadStr}.png 2>&amp;1";&#xA; echo shell_exec($cmd);&#xA;}&#xA;&#xA;if(isset($_POST["name"]))&#xA;{&#xA; $filename = $folder_name.$_POST["name"];&#xA; $imagename = $thumb_name.$_POST["name"].$imageext;&#xA; unlink($filename);&#xA; unlink($imagename);&#xA;}&#xA;&#xA;&#xA;$output .= &#x27;Successfly file is "&#x27;.$location.&#x27;"&#x27;;&#xA;echo $output;&#xA;&#xA;?>&#xA;

    &#xA;

    Result : Successfly file is ""&#xA;no name file :(

    &#xA;

    EDIT 3 :

    &#xA;

    this code upload.php&#xA;functions not working

    &#xA;

    &lt;?php&#xA;&#xA;//upload.php&#xA;&#xA;$folder_name = &#x27;upload/&#x27;;&#xA;$tumb_name = &#x27;thumb/&#x27;;&#xA;$imageext = &#x27;.png&#x27;;&#xA;&#xA;if(!empty($_FILES))&#xA;{&#xA;&#xA; $temp_file = $_FILES[&#x27;file&#x27;][&#x27;tmp_name&#x27;];&#xA; $location = $folder_name . $_FILES[&#x27;file&#x27;][&#x27;name&#x27;];&#xA; move_uploaded_file($temp_file, $location);&#xA; $upload = $_FILES[&#x27;file&#x27;][&#x27;name&#x27;];&#xA; $uploadStr = str_replace(" ", "\ ",$upload);&#xA; $locationStr = str_replace(" ","\ ",$location);&#xA; $cmd  = "ffmpeg -y -i {$locationStr} -ss 00:00:15 -vframes 1 thumb/{$uploadStr}.png 2>&amp;1";&#xA; echo shell_exec($cmd);&#xA;}&#xA;&#xA;&#xA;echo "The file " . $location . " has been uploaded";&#xA;// not working&#xA;echo "<br />";&#xA;echo "The file " . $upload . " has been uploaded";&#xA;// not working&#xA;echo "<br />";&#xA;echo "The file " . $uploadStr . " has been uploaded";&#xA;// not working&#xA;echo "<br />";&#xA;echo "The file " . $locationStr . " has been uploaded";&#xA;// not working&#xA;&#xA;?>&#xA;

    &#xA;

    Result upload.php in EDIT 3

    &#xA;

    this error :&#xA;[23-Apr-2022 12:31:56 Asia/Riyadh] PHP Notice : Undefined variable : location in /home/prdix/public_html/test/upload.php on line 38

    &#xA;

    line 38 : echo $location ;

    &#xA;

    About the developer solution Markus AO

    &#xA;

    I did the experiment and it is quite good, but dropzone is still missing, because I will upload a large video and the normal upload compresses the video before uploading, here is a picture from my mobile while uploading, but this does not happen with dropzone&#xA;enter image description here

    &#xA;

    I want to implement this in dropzone as well, because this library does not compress the video, but upload it in full size.

    &#xA;

    Thank you bro.

    &#xA;

  • generate thumbnail from stream jaffree Java

    27 avril 2022, par med benzekri

    I am trying to generate a thumbnail from a video stream using jaffree thought they didn't mention in their docs anything about generating thumbnail. I tried to figure it out on my own but it doesn't seem to work.

    &#xA;

    code for thumbnail generating :

    &#xA;

            public  PipedOutputStream generatethumbnail(){&#xA;           PipedOutputStream image = new PipedOutputStream();&#xA;                    FFmpeg.atPath()&#xA;                  .addInput(PipeInput.pumpFrom(stream).setPosition(1L, TimeUnit.SECONDS))&#xA;                   .addOutput(PipeOutput.pumpTo(image).setFormat("image2"))&#xA;                   .execute();&#xA;               return image;&#xA;        }&#xA;    }&#xA;

    &#xA;

    the stack trace when i run a test :

    &#xA;

    2022-04-25 00:36:50.250  WARN 200267 --- [           main] c.g.kokorin.jaffree.ffmpeg.PipeOutput    : It&#x27;s recommended to use ChannelOutput since ffmpeg requires seekable output for many formats&#xA;2022-04-25 00:36:50.255  WARN 200267 --- [           main] c.github.kokorin.jaffree.ffmpeg.FFmpeg   : ProgressListener isn&#x27;t set, progress won&#x27;t be reported&#xA;2022-04-25 00:36:50.256  INFO 200267 --- [           main] c.g.k.jaffree.process.ProcessHandler     : Command constructed:&#xA;ffmpeg -loglevel level&#x2B;info -ss 1.000 -i tcp://127.0.0.1:43417 -n -f image2 tcp://127.0.0.1:38791&#xA;2022-04-25 00:36:50.256  INFO 200267 --- [           main] c.g.k.jaffree.process.ProcessHandler     : Starting process: ffmpeg&#xA;2022-04-25 00:36:50.292  INFO 200267 --- [           main] c.g.k.jaffree.process.ProcessHandler     : Waiting for process to finish&#xA;2022-04-25 00:36:50.890  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info] ffmpeg version 5.0-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2022 the FFmpeg developers&#xA;2022-04-25 00:36:50.891  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   built with gcc 8 (Debian 8.3.0-6)&#xA;2022-04-25 00:36:50.928  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg&#xA;2022-04-25 00:36:50.929  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   libavutil      57. 17.100 / 57. 17.100&#xA;2022-04-25 00:36:50.929  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   libavcodec     59. 18.100 / 59. 18.100&#xA;2022-04-25 00:36:50.930  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   libavformat    59. 16.100 / 59. 16.100&#xA;2022-04-25 00:36:50.930  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   libavdevice    59.  4.100 / 59.  4.100&#xA;2022-04-25 00:36:50.930  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   libavfilter     8. 24.100 /  8. 24.100&#xA;2022-04-25 00:36:50.930  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   libswscale      6.  4.100 /  6.  4.100&#xA;2022-04-25 00:36:50.930  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   libswresample   4.  3.100 /  4.  3.100&#xA;2022-04-25 00:36:53.600  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   libpostproc    56.  3.100 / 56.  3.100&#xA;2022-04-25 00:36:53.601  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info] Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;tcp://127.0.0.1:43417&#x27;:&#xA;2022-04-25 00:36:53.602  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   Metadata:&#xA;2022-04-25 00:36:53.603  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     major_brand     : mp42&#xA;2022-04-25 00:36:53.603  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     minor_version   : 0&#xA;2022-04-25 00:36:53.603  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     compatible_brands: mp42mp41&#xA;2022-04-25 00:36:53.603  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     creation_time   : 2019-11-27T09:33:42.000000Z&#xA;2022-04-25 00:36:53.604  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   Duration: 00:00:20.69, start: 0.000000, bitrate: N/A&#xA;2022-04-25 00:36:53.604  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   Stream #0:0[0x1](eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 5760x2880, 29992 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)&#xA;2022-04-25 00:36:53.604  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     Metadata:&#xA;2022-04-25 00:36:53.605  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       creation_time   : 2019-11-27T09:33:42.000000Z&#xA;2022-04-25 00:36:53.605  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       handler_name    : ?Mainconcept Video Media Handler&#xA;2022-04-25 00:36:53.605  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       vendor_id       : [0][0][0][0]&#xA;2022-04-25 00:36:53.605  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       encoder         : AVC Coding&#xA;2022-04-25 00:36:53.606  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     Side data:&#xA;2022-04-25 00:36:53.606  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       stereo3d: 2D&#xA;2022-04-25 00:36:53.606  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       spherical: equirectangular (0.000000/0.000000/0.000000) &#xA;2022-04-25 00:36:53.606  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   Stream #0:1[0x2](eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)&#xA;2022-04-25 00:36:53.607  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     Metadata:&#xA;2022-04-25 00:36:53.607  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       creation_time   : 2019-11-27T09:33:42.000000Z&#xA;2022-04-25 00:36:53.607  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       handler_name    : #Mainconcept MP4 Sound Media Handler&#xA;2022-04-25 00:36:53.607  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       vendor_id       : [0][0][0][0]&#xA;2022-04-25 00:36:53.608  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info] Stream mapping:&#xA;2022-04-25 00:36:53.608  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   Stream #0:0 -> #0:0 (h264 (native) -> mjpeg (native))&#xA;2022-04-25 00:36:54.787  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info] Press [q] to stop, [?] for help&#xA;2022-04-25 00:36:54.799  WARN 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [swscaler @ 0x6b45b80] [swscaler @ 0x6b52b40] [warning] deprecated pixel format used, make sure you did set range correctly&#xA;2022-04-25 00:36:54.801  WARN 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [swscaler @ 0x6b45b80] [swscaler @ 0x8467b00] [warning] deprecated pixel format used, make sure you did set range correctly&#xA;2022-04-25 00:36:54.804  WARN 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [swscaler @ 0x6b45b80] [swscaler @ 0x850d400] [warning] deprecated pixel format used, make sure you did set range correctly&#xA;2022-04-25 00:36:54.806  WARN 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [swscaler @ 0x6b45b80] [swscaler @ 0x85b2d00] [warning] deprecated pixel format used, make sure you did set range correctly&#xA;2022-04-25 00:36:57.870  WARN 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [swscaler @ 0x6b45b80] [swscaler @ 0x8658600] [warning] deprecated pixel format used, make sure you did set range correctly&#xA;2022-04-25 00:36:57.871  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info] Output #0, image2, to &#x27;tcp://127.0.0.1:38791&#x27;:&#xA;2022-04-25 00:36:57.871  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   Metadata:&#xA;2022-04-25 00:36:57.871  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     major_brand     : mp42&#xA;2022-04-25 00:36:57.872  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     minor_version   : 0&#xA;2022-04-25 00:36:57.872  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     compatible_brands: mp42mp41&#xA;2022-04-25 00:36:57.872  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     encoder         : Lavf59.16.100&#xA;2022-04-25 00:36:57.872  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]   Stream #0:0(eng): Video: mjpeg, yuvj420p(pc, bt709, progressive), 5760x2880, q=2-31, 200 kb/s, 29.97 fps, 29.97 tbn (default)&#xA;2022-04-25 00:36:57.873  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     Metadata:&#xA;2022-04-25 00:36:57.873  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       creation_time   : 2019-11-27T09:33:42.000000Z&#xA;2022-04-25 00:36:57.873  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       handler_name    : ?Mainconcept Video Media Handler&#xA;2022-04-25 00:36:57.874  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       vendor_id       : [0][0][0][0]&#xA;2022-04-25 00:36:57.874  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       encoder         : Lavc59.18.100 mjpeg&#xA;2022-04-25 00:36:57.874  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]     Side data:&#xA;2022-04-25 00:36:57.875  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A&#xA;2022-04-25 00:36:57.875  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       stereo3d: 2D&#xA;2022-04-25 00:36:58.077  INFO 200267 --- [         StdErr] c.g.k.jaffree.process.BaseStdReader      : [info]       spherical: equirectangular (0.000000/0.000000/0.000000) &#xA;2022-04-25 00:36:58.213  WARN 200267 --- [     Runnable-1] c.g.kokorin.jaffree.process.Executor     : Interrupting starter thread (main) because of exception: TCP negotiation failed&#xA;2022-04-25 00:36:58.214  WARN 200267 --- [           main] c.g.k.jaffree.process.ProcessHandler     : Process has been interrupted&#xA;2022-04-25 00:36:58.215  WARN 200267 --- [           main] c.g.kokorin.jaffree.process.Executor     : Interrupting ALIVE thread: StdErr&#xA;2022-04-25 00:36:58.215  WARN 200267 --- [           main] c.g.kokorin.jaffree.process.Executor     : Interrupting ALIVE thread: StdOut&#xA;2022-04-25 00:36:58.215  WARN 200267 --- [           main] c.g.kokorin.jaffree.process.Executor     : Interrupting ALIVE thread: Runnable-0&#xA;&#xA;com.github.kokorin.jaffree.JaffreeException: Failed to execute, was interrupted&#xA;&#xA;    at com.github.kokorin.jaffree.process.ProcessHandler.interactWithProcess(ProcessHandler.java:190)&#xA;    at com.github.kokorin.jaffree.process.ProcessHandler.execute(ProcessHandler.java:147)&#xA;    at com.github.kokorin.jaffree.ffmpeg.FFmpeg.execute(FFmpeg.java:400)&#xA;    at dz.univ.bechar.mda.service.FFmpegService$Genrator.generatethumbnail(FFmpegService.java:57)&#xA;    at dz.univ.bechar.mda.service.FFmpegServiceTest.givenObjectStream_whenGenerate_Thumbnail(FFmpegServiceTest.java:30)&#xA;    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)&#xA;    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)&#xA;    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)&#xA;    at java.base/java.lang.reflect.Method.invoke(Method.java:566)&#xA;    at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:725)&#xA;    at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)&#xA;    at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)&#xA;    at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)&#xA;    at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)&#xA;    at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)&#xA;    at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)&#xA;    at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)&#xA;    at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)&#xA;    at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)&#xA;    at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)&#xA;    at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)&#xA;    at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)&#xA;    at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)&#xA;    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$7(TestMethodTestDescriptor.java:214)&#xA;    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)&#xA;    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:210)&#xA;    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:135)&#xA;    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:66)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:151)&#xA;    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)&#xA;    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)&#xA;    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)&#xA;    at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)&#xA;    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)&#xA;    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)&#xA;    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)&#xA;    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)&#xA;    at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)&#xA;    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:41)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$6(NodeTestTask.java:155)&#xA;    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:141)&#xA;    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)&#xA;    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)&#xA;    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)&#xA;    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:35)&#xA;    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)&#xA;    at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:54)&#xA;    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:107)&#xA;    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)&#xA;    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)&#xA;    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)&#xA;    at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)&#xA;    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:114)&#xA;    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)&#xA;    at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)&#xA;    at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)&#xA;    at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71)&#xA;    at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)&#xA;    at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)&#xA;    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)&#xA;    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)&#xA;    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)&#xA;    Suppressed: com.github.kokorin.jaffree.JaffreeException: TCP negotiation failed&#xA;        at com.github.kokorin.jaffree.net.TcpServer.run(TcpServer.java:69)&#xA;        at com.github.kokorin.jaffree.process.Executor$1.run(Executor.java:83)&#xA;        at java.base/java.lang.Thread.run(Thread.java:829)&#xA;    Caused by: java.io.IOException: Pipe not connected&#xA;        at java.base/java.io.PipedOutputStream.write(PipedOutputStream.java:140)&#xA;        at com.github.kokorin.jaffree.util.IOUtil.copy(IOUtil.java:71)&#xA;        at com.github.kokorin.jaffree.util.IOUtil.copy(IOUtil.java:50)&#xA;        at com.github.kokorin.jaffree.net.PipeOutputNegotiator.negotiate(PipeOutputNegotiator.java:55)&#xA;        at com.github.kokorin.jaffree.net.NegotiatingTcpServer.serve(NegotiatingTcpServer.java:44)&#xA;        at com.github.kokorin.jaffree.net.TcpServer.run(TcpServer.java:66)&#xA;        ... 2 more&#xA;Caused by: java.lang.InterruptedException&#xA;    at java.base/java.lang.Object.wait(Native Method)&#xA;    at java.base/java.lang.Object.wait(Object.java:328)&#xA;    at java.base/java.lang.ProcessImpl.waitFor(ProcessImpl.java:495)&#xA;    at com.github.kokorin.jaffree.process.ProcessHandler.interactWithProcess(ProcessHandler.java:180)&#xA;    ... 73 more&#xA;

    &#xA;

    Since the output info is shown, I assume that the thumbnail is generated but somehow interrupted, isn't it ?

    &#xA;

    Note : I need ffmpeg output to be a stream uploaded to an object storage server.

    &#xA;

    ffmpeg used : ffmpeg 5.0-static&#xA;tried this version ffmpeg-3.4.2-static which worked before on nodejs app with fluent-ffmpeg

    &#xA;