Recherche avancée

Médias (91)

Autres articles (99)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 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 (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le 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 (...)

  • Activation de l’inscription des visiteurs

    12 avril 2011, par

    Il est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
    Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
    Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...)

Sur d’autres sites (8974)

  • Is there any option to create a single frame thumbnail for a video in java ?

    13 juin 2020, par Prashanth Shyamprasad

    Is there any option to create a single frame thumbnail for a video in java with java libraries.

    



    I am using Jave2 in my application. Does Jave2 provides any such options ? I didn't find a single documentation related to this.

    



    I heard Xuggler provides some options. But I don't want to move to Xuggler if Jave2 provides the facility as I'm already using Jave2 for many purposes extensively. Adding a full library like Xuggler is an overhead. Replacing Jave2 with Xuggler also is a tedious task

    



    If any light weight thumbnail feature specific utility library is available, then that should also be fine.

    


  • Translating Handbrake options to a FFMPEG command

    9 mai 2020, par Arif

    I want to convert a bunch of videos from x264 to x265, but I need to do so with ffmpeg in terminal because it's a remote server. These are my Handbrake options (listed items are ticked) :

    



    Summary tab

    



      

    • Web optimized
    • 


    • Align A/V Start
    • 


    



    Dimensions tab unchanged

    



    Filters tab

    



      

    • Sharpen - LapSharp, preset : Medium
    • 


    



    Video tab

    



      

    • Video codec - H.265 (x265)

    • 


    • Framerate (FPS) - 30 - Peak Framerate

    • 


    • Quality - Constant Quality - 28

    • 


    • Encoder preset - Medium

    • 


    • Encoder tune - None

    • 


    • Encoder profile - Auto

    • 


    



    Audio tab

    



      

    • Audio track - AAC, bitrate : 128
    • 


    



    Subtitles tab - No subtitles (remove if exists)

    



    This is the ffmpeg command that I've managed to compile so far :

    



    ffmpeg -i input.mp4 -c:v libx265 -crf 28 -c:a aac -b:a 128k -max_muxing_queue_size 400 -movflags +faststart output.mp4

    



    I have the following two questions :

    



      

    1. Does the ffmpeg command provided list all the options except the peak framerate, sharpening filter and removing subtitle ones ? How do I incorporate these three ?
    2. 


    3. Slightly unrelated, but does having -max_muxing_queue_size 400 negatively affect file size or video quality ? I've only included this because I'd ran into encoding errors in the past.
    4. 


    



    Thank you.

    



    My Handbrake log with the above options, if it helps :

    



    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'E:\input.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.10.100
  Duration: 00:02:20.52, start: 0.000000, bitrate: 1487 kb/s
    Stream #0:0(und): Video: h264 (High) [avc1 / 0x31637661]
      yuv420p, tv, bt709/bt709/bt709
      1280x720 [PAR 1:1 DAR 16:9], 1288 kb/s, PAR 1:1 DAR 16:9
      29.97 fps, 30k tbn (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) [mp4a / 0x6134706D]
      44100 Hz, stereo, fltp, 192 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
[04:26:49] scan: decoding previews for title 1
[04:26:49] scan: audio 0x1: aac, rate=44100Hz, bitrate=192025 English (AAC) (2.0 ch)
[04:26:50] scan: 10 previews, 1280x720, 29.970 fps, autocrop = 0/0/0/0, aspect 16:9, PAR 1:1
[04:26:50] scan: supported video decoders: avcodec qsv
[04:26:50] libhb: scan thread found 1 valid title(s)
[04:26:50] starting job
[04:26:50] decomb filter thread started for segment 0
[04:26:50] decomb filter thread started for segment 1
[04:26:50] decomb filter thread started for segment 3
[04:26:50] decomb check thread started for segment 0
[04:26:50] decomb check thread started for segment 1
[04:26:50] yadif thread started for segment 0
[04:26:50] decomb check thread started for segment 3
[04:26:50] mask filter thread started for segment 0
[04:26:50] work: track 1, dithering not supported by codec
[04:26:50] mask filter thread started for segment 1
[04:26:50] work: only 1 chapter, disabling chapter markers
[04:26:50] job configuration:
[04:26:50]  * source
[04:26:50]    + E:\input.mp4
[04:26:50]    + title 1, chapter(s) 1 to 1
[04:26:50]    + container: mov,mp4,m4a,3gp,3g2,mj2
[04:26:50] mask filter thread started for segment 3
[04:26:50]    + data rate: 1487 kbps
[04:26:50]  * destination
[04:26:50]    + C:\Users\Hp\Desktop\output.mp4
[04:26:50]    + container: MPEG-4 (libavformat)
[04:26:50]      + optimized for HTTP streaming (fast start)
[04:26:50]      + align initial A/V stream timestamps
[04:26:50]  * video track
[04:26:50]    + decoder: h264
[04:26:50]      + bitrate 1288 kbps
[04:26:50]    + filters
[04:26:50] mask filter thread started for segment 2
[04:26:50]      + Comb Detect (mode=3:spatial-metric=2:motion-thresh=1:spatial-thresh=1:filter-mode=2:block-thresh=40:block-width=16:block-height=16)
[04:26:50]      + Decomb (mode=39)
[04:26:50]      + Framerate Shaper (mode=2:rate=27000000/900000)
[04:26:50]        + frame rate: 29.970 fps -> peak rate limited to 30.000 fps
[04:26:50] mask erode thread started for segment 1
[04:26:50]      + Crop and Scale (width=1280:height=720:crop-top=0:crop-bottom=0:crop-left=0:crop-right=0)
[04:26:50]        + source: 1280 * 720, crop (0/0/0/0): 1280 * 720, scale: 1280 * 720
[04:26:50]      + Sharpen (lapsharp) (y-strength=0.2:y-kernel=isolap:cb-strength=0.2:cb-kernel=isolap)
[04:26:50]    + Output geometry
[04:26:50]      + storage dimensions: 1280 x 720
[04:26:50]      + pixel aspect ratio: 1 : 1
[04:26:50]      + display dimensions: 1280 x 720
[04:26:50]    + encoder: H.265 (libx265)
[04:26:50]      + preset:  medium
[04:26:50]      + profile: auto
[04:26:50]      + quality: 28.00 (RF)
[04:26:50]  * audio track 1
[04:26:50] mask erode thread started for segment 2
[04:26:50]    + decoder: English (AAC) (2.0 ch) (track 1, id 0x1)
[04:26:50]      + bitrate: 192 kbps, samplerate: 44100 Hz
[04:26:50]    + mixdown: Stereo
[04:26:50]    + encoder: AAC (libavcodec)
[04:26:50]      + bitrate: 128 kbps, samplerate: 48000 Hz
[04:26:50] mask erode thread started for segment 3
[04:26:50] mask dilate thread started for segment 0
[04:26:50] mask dilate thread started for segment 1
[04:26:50] mask dilate thread started for segment 2
[04:26:50] decomb check thread started for segment 2
[04:26:50] yadif thread started for segment 1
[04:26:50] yadif thread started for segment 2
[04:26:50] yadif thread started for segment 3
[04:26:50] MTFrame thread started for segment 1
[04:26:50] MTFrame thread started for segment 2
[04:26:50] MTFrame thread started for segment 3
[04:26:50] mask dilate thread started for segment 3
[04:26:50] sync: expecting 4211 video frames
[04:26:50] mask erode thread started for segment 0
[04:26:50] decomb filter thread started for segment 2
[04:26:50] MTFrame thread started for segment 0
x265 [info]: HEVC encoder version 2.6
x265 [info]: build info [Windows][GCC 7.2.0][64 bit] 8bit+10bit+12bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
x265 [info]: Main profile, Level-3.1 (Main tier)
x265 [info]: Thread pool created using 4 threads
x265 [info]: Slices                              : 1
x265 [info]: frame threads / pool features       : 2 / wpp(12 rows)
x265 [info]: Coding QT: max CU size, min CU size : 64 / 8
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : hex / 57 / 2 / 2
x265 [info]: Keyframe min / max / scenecut / bias: 30 / 300 / 40 / 5.00
x265 [info]: Lookahead / bframes / badapt        : 20 / 4 / 2
x265 [info]: b-pyramid / weightp / weightb       : 1 / 1 / 0
x265 [info]: References / ref-limit  cu / depth  : 3 / on / on
x265 [info]: AQ: mode / str / qg-size / cu-tree  : 1 / 1.0 / 32 / 1
x265 [info]: Rate Control / qCompress            : CRF-28.0 / 0.60
x265 [info]: tools: rd=3 psy-rd=2.00 rskip signhide tmvp strong-intra-smoothing
x265 [info]: tools: lslices=4 deblock sao
[04:26:50] sync: first pts video is 0
[04:26:50] sync: "Chapter 1" (1) at frame 1 time 0
[04:26:50] sync: first pts audio 0x1 is 0
[04:40:02] reader: done. 1 scr changes
[04:40:13] work: average encoding speed for job is 5.245789 fps
[04:40:13] comb detect: heavy 3 | light 10 | uncombed 4198 | total 4211
[04:40:13] decomb: deinterlaced 3 | blended 10 | unfiltered 4198 | total 4211
[04:40:13] vfr: 4211 frames output, 0 dropped and 0 duped for CFR/PFR
[04:40:13] vfr: lost time: 0 (0 frames)
[04:40:13] vfr: gained time: 0 (0 frames) (0 not accounted for)
[04:40:13] aac-decoder done: 6052 frames, 0 decoder errors
[04:40:13] h264-decoder done: 4211 frames, 0 decoder errors
[04:40:13] sync: got 4211 frames, 4211 expected
[04:40:13] sync: framerate min 18.394 fps, max 29.970 fps, avg 29.966 fps
x265 [info]: frame I:     18, Avg QP:24.13  kb/s: 2900.85
x265 [info]: frame P:   1079, Avg QP:26.64  kb/s: 1040.14
x265 [info]: frame B:   3114, Avg QP:33.15  kb/s: 235.18
x265 [info]: Weighted P-Frames: Y:0.4% UV:0.4%
x265 [info]: consecutive B-frames: 4.0% 1.4% 20.1% 55.7% 18.8%
encoded 4211 frames in 802.93s (5.24 fps), 452.83 kb/s, Avg QP:31.44
[04:40:13] mux: track 0, 4211 frames, 7970061 bytes, 453.68 kbps, fifo 8192
[04:40:13] mux: track 1, 6588 frames, 2254132 bytes, 128.31 kbps, fifo 8192
[04:40:13] libhb: work result = 0

# Encode Completed ...


    


  • FFMPEG to create an MPEG-DASH stream with VP8

    16 septembre 2019, par Kenny Worden

    I’m trying to use FFMPEG to stream a live video feed from my webcam /dev/video0. Following scattered tutorials and scarce documentation (is this a known problem for the encoding community ?) I arrived at the following bash script :

    #!/bin/bash

    ffmpeg \
       -y \
       -f v4l2 \
           -i /dev/video0 \
           -s 640x480 \
           -input_format mjpeg \
           -r 24 \
       -map 0:0 \
       -pix_fmt yuv420p \
       -codec:v libvpx \
           -s 640x480 \
           -threads 4 \
           -b:v 50k \
           -tile-columns 4 \
           -frame-parallel 1 \
           -keyint_min 24 -g 24 \
       -f webm_chunk \
           -header "stream.hdr" \
           -chunk_start_index 1 \
       stream_%d.chk &

    sleep 2

    ffmpeg \
       -f webm_dash_manifest -live 1 \
       -i stream.hdr \
       -c copy \
       -map 0 \
       -f webm_dash_manifest -live 1 \
           -adaptation_sets "id=0,streams=0" \
           -chunk_start_index 1 \
           -chunk_duration_ms 1000 \
           -time_shift_buffer_depth 30000 \
           -minimum_update_period 60000 \
       stream_manifest.mpd

    When I run this script, my webcam light turns on, the stream.hdr and stream_manifest.mpd files are written, and chunks start to be created (i.e. stream_1.chk, stream_2.chk, etc...). However, FFMPEG throws the following error :

    Could not write header for output file #0 (incorrect codec parameters
     ?) : Invalid data found when processing input

    I will explain what I think I am doing with this script, and hopefully this will expose any errors in my thinking.

    First, we invoke FFMPEG to use Video for Linux 2 (v4l2) to read from my webcam (/dev/video0) of a resolution 640x480. The input format is mjpeg with a framerate of 24fps.

    I then declare that FFMPEG should "map" (copy) the video stream output by v4l2 to a file. I specify the pixel format (YUV420P) and use libvpx (VP8 encoding) to encode the video stream. I set the size to be 640x480, use 4 threads, set the bitrate to be 50kbps, do some magic with tile-columns and frame-parallel options, and set the I-frames to be 24 frames apart.

    I then create a stream.hdr file. The starting index is 1. This command continues to run infinitely until I kill it, grabbing new video from my webcam and outputting it into chunks.

    I then sleep for 2 seconds to give the previous command time to generate a header file.

    And that’s really it. The next invocation of FFMPEG simply creates the MPEG-DASH manifest file given the header generated in the previous step.

    So what’s going on ? Why can I not view the video in a web browser (I’m using Dash.js) ? I serve the manifest, header, and chunks on a Node.js server so that trivial issue is not the problem.


    Edit : Here is my full console output.

    ffmpeg version 3.0.7-0ubuntu0.16.10.1 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 6.2.0 (Ubuntu 6.2.0-5ubuntu12) 20161005
     configuration: --prefix=/usr --extra-version=0ubuntu0.16.10.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --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-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-librtmp --enable-libschroedinger --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-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-chromaprint --enable-libx264
     libavutil      55. 17.103 / 55. 17.103
     libavcodec     57. 24.102 / 57. 24.102
     libavformat    57. 25.100 / 57. 25.100
     libavdevice    57.  0.101 / 57.  0.101
     libavfilter     6. 31.100 /  6. 31.100
     libavresample   3.  0.  0 /  3.  0.  0
     libswscale      4.  0.100 /  4.  0.100
     libswresample   2.  0.101 /  2.  0.101
     libpostproc    54.  0.100 / 54.  0.100
    [video4linux2,v4l2 @ 0x55847e244ea0] The driver changed the time per frame from 1/24 to 1/30
    [mjpeg @ 0x55847e245c00] Changing bps to 8
    Input #0, video4linux2,v4l2, from '/dev/video0':
     Duration: N/A, start: 64305.102081, bitrate: N/A
       Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 640x480, -5 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
    Codec AVOption frame-parallel (Enable frame parallel decodability features) specified for output file #0 (stream_%d.chk) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
    Codec AVOption tile-columns (Number of tile columns to use, log2) specified for output file #0 (stream_%d.chk) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
    [swscaler @ 0x55847e24b720] deprecated pixel format used, make sure you did set range correctly
    [libvpx @ 0x55847e248a20] v1.5.0
    Output #0, webm_chunk, to 'stream_%d.chk':
     Metadata:
       encoder         : Lavf57.25.100
       Stream #0:0: Video: vp8 (libvpx), yuv420p, 640x480, q=-1--1, 50 kb/s, 30 fps, 30 tbn, 30 tbc
       Metadata:
         encoder         : Lavc57.24.102 libvpx
       Side data:
         unknown side data type 10 (24 bytes)
    Stream mapping:
     Stream #0:0 -> #0:0 (mjpeg (native) -> vp8 (libvpx))
    Press [q] to stop, [?] for help
    frame=   21 fps=0.0 q=0.0 size=N/A time=00:00:00.70 bitrate=N/A dup=5 drop=frame=   36 fps= 35 q=0.0 size=N/A time=00:00:01.20 bitrate=N/A dup=5 drop=frame=   51 fps= 33 q=0.0 size=N/A time=00:00:01.70 bitrate=N/A dup=5 drop=ffmpeg version 3.0.7-0ubuntu0.16.10.1 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 6.2.0 (Ubuntu 6.2.0-5ubuntu12) 20161005
     configuration: --prefix=/usr --extra-version=0ubuntu0.16.10.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --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-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librubberband --enable-librtmp --enable-libschroedinger --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-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-chromaprint --enable-libx264
     libavutil      55. 17.103 / 55. 17.103
     libavcodec     57. 24.102 / 57. 24.102
     libavformat    57. 25.100 / 57. 25.100
     libavdevice    57.  0.101 / 57.  0.101
     libavfilter     6. 31.100 /  6. 31.100
     libavresample   3.  0.  0 /  3.  0.  0
     libswscale      4.  0.100 /  4.  0.100
     libswresample   2.  0.101 /  2.  0.101
     libpostproc    54.  0.100 / 54.  0.100
    Input #0, webm_dash_manifest, from 'stream.hdr':
     Metadata:
       encoder         : Lavf57.25.100
     Duration: N/A, bitrate: N/A
       Stream #0:0: Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
       Metadata:
         webm_dash_manifest_file_name: stream.hdr
         webm_dash_manifest_track_number: 1
    Output #0, webm_dash_manifest, to 'stream_manifest.mpd':
     Metadata:
       encoder         : Lavf57.25.100
       Stream #0:0: Video: vp8, yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
       Metadata:
         webm_dash_manifest_file_name: stream.hdr
         webm_dash_manifest_track_number: 1
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input
    frame=   67 fps= 33 q=0.0 size
    frame=   82 fps= 32 q=0.0 size=N/A time=00:00:02.73 bitrate=N/A dup=5 drop=
    frame=   97 fps= 32 q=0.0 size=N/A time=00:00:03.23 bitrate=N/A dup=5 drop=
    frame=  112 fps= 32 q=0.0 size=N/A time=00:00:03.73 bitrate=N/A dup=5 ...