Recherche avancée

Médias (91)

Autres articles (59)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Submit bugs and patches

    13 avril 2011

    Unfortunately a software is never perfect.
    If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
    If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
    You may also (...)

Sur d’autres sites (11163)

  • Unrecognized option 'txt_format' in ffmpeg latest version

    26 novembre 2020, par RecklessSergio

    I am trying to convert subtitles from scenarist closed captions(scc) to webvtt(vtt)

    



    But I am getting some special characters, so going through ffmpeg documentation https://trac.ffmpeg.org/wiki/ExtractSubtitles
I got to know about the option -txt_format. But when I am using it, ffmpeg is throwing an error saying

    



    "Unrecognized option 'txt_format'.
Error splitting the argument list : Option not found"

    



    FFMPEG VERSION : 
ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 9.1.1 (GCC) 20190716

    



    Below is the trace level log :

    



    

    

    ffmpeg version 4.1.4 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.1.1 (GCC) 20190716
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'trace'.
Reading option '-i' ... matched as input url with argument '223163.scc'.
Reading option 'test.vtt' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument trace.
Successfully parsed a group of options.
Parsing a group of options: input url 223163.scc.
Successfully parsed a group of options.
Opening an input file: 223163.scc.
[NULL @ 0000025d22799500] Opening '223163.scc' for reading
[file @ 0000025d2279a600] Setting default whitelist 'file,crypto'
Probing scc score:100 size:2048
[scc @ 0000025d22799500] Format scc probed with size=2048 and score=100
[scc @ 0000025d22799500] Before avformat_find_stream_info() pos: 38022 bytes read:38022 seeks:0 nb_streams:1
[scc @ 0000025d22799500] All info found
[scc @ 0000025d22799500] stream 0: start_time: -9223372036854776.000 duration: -9223372036854776.000
[scc @ 0000025d22799500] format: start_time: -9223372036854.775 duration: -9223372036854.775 bitrate=0 kb/s
[scc @ 0000025d22799500] After avformat_find_stream_info() pos: 38022 bytes read:38022 seeks:0 frames:0
Input #0, scc, from '223163.scc':
  Duration: N/A, bitrate: N/A
    Stream #0:0, 0, 1/1000: Subtitle: eia_608
Successfully opened the file.
Parsing a group of options: output url test.vtt.
Successfully parsed a group of options.
Opening an output file: test.vtt.
File 'test.vtt' already exists. Overwrite ? [y/N] y
[file @ 0000025d227d1c40] Setting default whitelist 'file,crypto'
Successfully opened the file.
Output #0, webvtt, to 'test.vtt':
  Metadata:
    encoder         : Lavf58.20.100
    Stream #0:0, 0, 1/1000: Subtitle: webvtt
    Metadata:
      encoder         : Lavc58.35.100 webvtt
Stream mapping:
  Stream #0:0 -> #0:0 (eia_608 (cc_dec) -> webvtt (native))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    Last message repeated 1 times
No more output streams to write to, finishing.
size=      19kB time=00:18:28.36 bitrate=   0.1kbits/s speed=2.26e+04x
video:0kB audio:0kB subtitle:10kB other streams:0kB global headers:0kB muxing overhead: 88.647011%
Input file #0 (223163.scc):
  Input stream #0:0 (subtitle): 411 packets read (19101 bytes); 349 frames decoded;
  Total: 411 packets (19101 bytes) demuxed
Output file #0 (test.vtt):
  Output stream #0:0 (subtitle): 349 frames encoded; 349 packets muxed (10244 bytes);
  Total: 349 packets (10244 bytes) muxed
349 frames successfully decoded, 0 decoding errors
[AVIOContext @ 0000025d22799c80] Statistics: 0 seeks, 2 writeouts
[AVIOContext @ 0000025d227a2880] Statistics: 38022 bytes read, 0 seeks

    


    


    



  • How can I fix video processing and 500 Error - (Laravel, FFmpeg)

    19 juillet 2019, par San Martín Figueroa Pablo

    I’m setting up a new website with Laravel for uploading videos...
    I have read all the possible solutions but none of them help me to solve the issue...

    This is my issue : When I upload a small file (<10mb) the web works fine, the video get uploaded and the video get converted, the dashboard shows the converted videos---

    When I try to upload a large file, the file get uploaded, the video get converted with a green frame on it (really uggly) and the site goes to a 500 server error...

    I’m using Laravel Jobs to do the conversion.

    My Controller code :

       &lt;?php

       namespace App\Http\Controllers;

       use Illuminate\Http\Request;
       use Illuminate\Support\Facades\DB;
       use Illuminate\Support\Facades\Storage;
       use Symfony\Component\HttpFoundation\Response;
       use Carbon;
       use Closure;
       use App\Jobs\ConvertVideoForPreview;
       use FFMpeg\FFProbe;
       use FFMpeg\Coordinate\Dimension;
       use FFMpeg\Format\Video\X264;
       use Pawlox\VideoThumbnail\Facade\VideoThumbnail;
       use Pbmedia\LaravelFFMpeg\FFMpegFacade as FFMpeg;
       use Illuminate\Contracts\Filesystem\Filesystem;


       use App\Video;

       class VideoController extends Controller
       {
       public function createVideo(){
           return view('video.createVideo');  
       }
       public function saveVideo(Request $request){


           set_time_limit(0);
           ini_set('memory_limit', '1024M');

           //Validar Formulario

           $validatedData = $this -> validate($request, [

               'title' => 'required',
               'description' => 'required',
               'palabras' => 'required',
               'video' => 'mimetypes:video/mp4,video/quicktime'


           ]);

           $video = new Video();
           $user = \Auth::user();
           $video -> user_id = $user->id;
           $video -> title = $request -> input('title');
           $video -> description = $request -> input('description');
           $video -> palabras = $request -> input('palabras');



           $video_file = $request -> file('video');

           if($video_file){

           $video_path = 'original'.'_'.$video_file ->                                
           getClientOriginalName();
           Storage::disk('videos')-> put($video_path,
           \File::get($video_file));

           $videoUrl = storage_path('app/videos/').$video_path;
           $storageUrl = storage_path('app/thumbs/');
           $fileName = 'thumb'.'_'.time().'.jpg';
           $second = 2;

           VideoThumbnail::createThumbnail($videoUrl, $storageUrl,    
           $fileName, $second, $width = 640, $height = 480);

           $video -> preview = $fileName;
           $video -> video_path = $video_path;

         }
           $video -> save();

           ConvertVideoForPreview::dispatch($video);

           return redirect() -> route('home')
                             -> with (array(
               'message' => 'El video se ha enviado con exito'));
         }

           public function getImage($filename){

               $file = Storage::disk('thumbs') -> get($filename);
               return new Response($file, 200);
         }

           public function getVideo($filename){

               $file = Storage::disk('converted_videos') ->  
           get($filename);
               return new Response($file, 200);
         }

         }

    This is my ConvertVideo Job :

       &lt;?php

        namespace App\Jobs;

        use App\Video;

        use Carbon\Carbon;
        use FFMpeg;
        use FFMpeg\Format\Video\X264;

        use Illuminate\Http\Request;
        use Illuminate\Bus\Queueable;
        use Illuminate\Queue\SerializesModels;
        use Illuminate\Queue\InteractsWithQueue;
        use Illuminate\Contracts\Queue\ShouldQueue;
        use Illuminate\Foundation\Bus\Dispatchable;

        class ConvertVideoForPreview implements ShouldQueue

           {
             use Dispatchable, InteractsWithQueue, Queueable,
             SerializesModels;

             public $video;


             public function __construct(Video $video)
            {
                $this -> video = $video;
            }
             public function handle()
            {

             $converted_name= 'preview'.'-'.$this -> video ->
             video_path.'.mp4';

             FFMpeg::open('videos/'.$this -> video -> video_path)

                           -> export()
                   -> inFormat(new \FFMpeg\Format\Video\X264)
                       -> save('converted_videos/'.$converted_name);

               $this -> video -> update([
               'video_preview' => $converted_name,
               'processed' => true
                ]);
         }
        }

    One of my goals is to upload large video files (<=4GB), show a uploading process bar and a encoding process bar during the video upload.

    I getting this error :

    [core:error] [pid 14787:tid 139975366489856] [client
     201.188.26.12:51022] Script timed out before returning headers:
     index.php,

    It’s happend when the video es proccesing and the redirect to home dashboard it’s call...

    The FFMPEG works :

    [2019-07-19 17:20:41] local.INFO: ffprobe executed command successfully  
    [2019-07-19 17:21:52] local.INFO: ffmpeg executed command successfully  
    [2019-07-19 17:21:52] local.INFO: ffmpeg running command '/usr/local/bin/ffmpeg' '-y' '-i' '/home/tribus/public_html/storage/app/videos/original_Sequence 01.mov' '-threads' '12' '-vcodec' 'libx264' '-acodec' 'libfaac' '-b:v' '1000k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' '-pass' '2' '-passlogfile' '/tmp/ffmpeg-passes5d31fbe9010e6ldt9s/pass-5d31fbe90152d' '/home/tribus/public_html/storage/app/converted_videos/preview-original_Sequence 01.mov.mp4'

    I have tried : Change all the memory and file size in PHP.ini, Nginx, Apache... (Probably I’m missing one)...

    Changed timeouts too.

    My environment : VPS 4GB 50GB, APACHE 2.4, PHP7.3, MySql MariaDB, WebServer : Apache-Nginx, Laravel 5.8.

    Can anyone help me to reach this ?...

    This is how the large video looks after converted and show 500 error in the browser :
    Error video processed

  • How to solve issue with ffmpeg being stuck at 'Opening an input file'

    20 mai 2021, par zv989

    I am using a capture card to capture HDMI audio from another machine.

    &#xA;&#xA;

    On my host, output of arecord -l is as follow :

    &#xA;&#xA;

    **** List of CAPTURE Hardware Devices ****&#xA;Home directory not accessible: Permission denied&#xA;card 0: PCH [HDA Intel PCH], device 0: ALC283 Analog [ALC283 Analog]&#xA;  Subdevices: 1/1&#xA;  Subdevice #0: subdevice #0&#xA;card 1: capture [ezcap U3 capture], device 0: USB Audio [USB Audio]&#xA;  Subdevices: 1/1&#xA;  Subdevice #0: subdevice #0&#xA;

    &#xA;&#xA;

    The command that I use is :

    &#xA;&#xA;

    sudo ffmpeg -f alsa -i hw:CARD=capture,DEV=0 -t 30 test.wav -loglevel debug&#xA;

    &#xA;&#xA;

    When I ran the command, the log seems to freeze at 'Opening an input file' as below :

    &#xA;&#xA;

    ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers&#xA;  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)&#xA;  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared&#xA;  libavutil      55. 78.100 / 55. 78.100&#xA;  libavcodec     57.107.100 / 57.107.100&#xA;  libavformat    57. 83.100 / 57. 83.100&#xA;  libavdevice    57. 10.100 / 57. 10.100&#xA;  libavfilter     6.107.100 /  6.107.100&#xA;  libavresample   3.  7.  0 /  3.  7.  0&#xA;  libswscale      4.  8.100 /  4.  8.100&#xA;  libswresample   2.  9.100 /  2.  9.100&#xA;  libpostproc    54.  7.100 / 54.  7.100&#xA;Splitting the commandline.&#xA;&#xA;Reading option &#x27;-f&#x27; ... matched as option &#x27;f&#x27; (force format) with argument &#x27;alsa&#x27;.&#xA;&#xA;Reading option &#x27;-i&#x27; ... matched as input url with argument &#x27;hw:CARD=capture,DEV=0&#x27;.&#xA;&#xA;Reading option &#x27;-t&#x27; ... matched as option &#x27;t&#x27; (record or transcode "duration" seconds of audio/video) with argument &#x27;30&#x27;.&#xA;&#xA;Reading option &#x27;test.wav&#x27; ... matched as output url.&#xA;&#xA;Reading option &#x27;-loglevel&#x27; ... matched as option &#x27;loglevel&#x27; (set logging level) with argument &#x27;debug&#x27;.&#xA;&#xA;Finished splitting the commandline.&#xA;&#xA;Parsing a group of options: global .&#xA;&#xA;Applying option loglevel (set logging level) with argument debug.&#xA;&#xA;Successfully parsed a group of options.&#xA;&#xA;Parsing a group of options: input url hw:CARD=capture,DEV=0.&#xA;&#xA;Applying option f (force format) with argument alsa.&#xA;&#xA;Successfully parsed a group of options.&#xA;&#xA;Opening an input file: hw:CARD=capture,DEV=0.&#xA;

    &#xA;&#xA;

    It will just stuck there forever, until I press Ctrl+C, then the log continues as follow :

    &#xA;&#xA;

    [alsa @ 0x55c9f0eee8c0] interrupted&#xA;Guessed Channel Layout for Input Stream #0.0 : stereo&#xA;Input #0, alsa, from &#x27;hw:CARD=capture,DEV=0&#x27;:&#xA;  Duration: N/A, bitrate: 1536 kb/s&#xA;    Stream #0:0, 0, 1/1000000: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s&#xA;Successfully opened the file.&#xA;Parsing a group of options: output url test.wav.&#xA;Applying option t (record or transcode "duration" seconds of audio/video) with argument 30.&#xA;Successfully parsed a group of options.&#xA;Opening an output file: test.wav.&#xA;File &#x27;test.wav&#x27; already exists. Overwrite ? [y/N] y&#xA;[file @ 0x55c9f0f03280] Setting default whitelist &#x27;file,crypto&#x27;&#xA;Successfully opened the file.&#xA;Stream mapping:&#xA;  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))&#xA;Press [q] to stop, [?] for help&#xA;Finishing stream 0:0 without any data written to it.&#xA;detected 4 logical cores&#xA;[graph_0_in_0_0 @ 0x55c9f0f05dc0] Setting &#x27;time_base&#x27; to value &#x27;1/48000&#x27;&#xA;[graph_0_in_0_0 @ 0x55c9f0f05dc0] Setting &#x27;sample_rate&#x27; to value &#x27;48000&#x27;&#xA;[graph_0_in_0_0 @ 0x55c9f0f05dc0] Setting &#x27;sample_fmt&#x27; to value &#x27;s16&#x27;&#xA;[graph_0_in_0_0 @ 0x55c9f0f05dc0] Setting &#x27;channel_layout&#x27; to value &#x27;0x3&#x27;&#xA;[graph_0_in_0_0 @ 0x55c9f0f05dc0] tb:1/48000 samplefmt:s16 samplerate:48000 chlayout:0x3&#xA;[format_out_0_0 @ 0x55c9f0f060c0] Setting &#x27;sample_fmts&#x27; to value &#x27;s16&#x27;&#xA;[AVFilterGraph @ 0x55c9f0f04be0] query_formats: 5 queried, 12 merged, 0 already done, 0 delayed&#xA;Output #0, wav, to &#x27;test.wav&#x27;:&#xA;  Metadata:&#xA;    ISFT            : Lavf57.83.100&#xA;    Stream #0:0, 0, 1/48000: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s&#xA;    Metadata:&#xA;      encoder         : Lavc57.107.100 pcm_s16le&#xA;size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x&#xA;video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown&#xA;Input file #0 (hw:CARD=capture,DEV=0):&#xA;  Input stream #0:0 (audio): 0 packets read (0 bytes); 0 frames decoded (0 samples);&#xA;  Total: 0 packets (0 bytes) demuxed&#xA;Output file #0 (test.wav):&#xA;  Output stream #0:0 (audio): 0 frames encoded (0 samples); 0 packets muxed (0 bytes);&#xA;  Total: 0 packets (0 bytes) muxed&#xA;Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)&#xA;0 frames successfully decoded, 0 decoding errors&#xA;[AVIOContext @ 0x55c9f0f033e0] Statistics: 3 seeks, 3 writeouts&#xA;Exiting normally, received signal 2.&#xA;

    &#xA;&#xA;

    What is wrong with the command ?

    &#xA;