Recherche avancée

Médias (1)

Mot : - Tags -/lev manovitch

Autres articles (13)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Les vidéos

    21 avril 2011, par

    Comme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
    Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
    Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...)

Sur d’autres sites (4049)

  • How to use Google's Cloud Speech-to-Text API to transcribe a video using the REST API

    8 juin 2018, par mrb

    I’d like to have the transcript of 2 people speaking in a video, but I get an empty response from the Cloud Speech-to-Text API

    Approach :

    I have a 56 minute video file containing a conversation between two people. I would like to have the transcript of that conversation, and I would like to use Google’s Cloud Speech-to-Text API to get that.

    To save a little on my Google Cloud Storage I converted to video to audio first by using mmpeg.

    First I’d tried to figure out the audio codec by using the command below, and it looks like AAC.
    ffmpeg -i video.mp4

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'videoplayback.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2015-12-30T08:17:14.000000Z
     Duration: 00:56:03.99, start: 0.000000, bitrate: 362 kb/s
       Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 490x360 [SAR 1:1 DAR 49:36], 264 kb/s,     29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
       Metadata:
         creation_time   : 2015-12-30T08:17:31.000000Z
         handler_name    : IsoMedia File Produced by Google, 5-11-2011    

    So I took that from the video by using :
    ffmpeg -i video.mp4 -vn -acodec copy myaudio.aac

    Details so far :
    ffmpeg -i myaudio.aac
    Outputs :

    Input #0, aac, from 'myaudio.aac':
     Duration: 00:56:47.49, bitrate: 97 kb/s
       Stream #0:0: Audio: aac (LC), 44100 Hz, stereo, fltp, 97 kb/s

    After that I converted it to opus because I’m told that opus is better
    ffmpeg -i myaudio.aac -acodec libopus -b:a 97k -vbr on -compression_level 10 myaudio.opus

    Info so far :
    opusinfo myaudio.opus

    User comments section follows...
       encoder=Lavc58.18.100 libopus
    Opus stream 1:
       Pre-skip: 312
       Playback gain: 0 dB
       Channels: 2
       Original sample rate: 48000Hz
       Packet duration:   20.0ms (max),   20.0ms (avg),   20.0ms (min)
       Page duration:   1000.0ms (max), 1000.0ms (avg), 1000.0ms (min)
       Total data length: 29956714 bytes (overhead: 0.872%)
       Playback length: 56m:03.990s
       Average bitrate: 71.24 kb/s, w/o overhead: 70.62 kb/s

    I this point I uploaded the myaudio.opus to the Google Cloud Storage.

    curl POST 1
    I started the speech recognition by doing a POST with curl :

    curl --request POST  --header "Content-Type: application/json" --url 'https://speech.googleapis.com/v1/speech:longrunningrecognize?fields=done%2Cerror%2Cmetadata%2Cname%2Cresponse&key={MY_API_KEY}' --data '{"audio": {"uri": "gs://{MY_BUCKET}/myaudio.opus"},"config": {"encoding": "OGG_OPUS", "sampleRateHertz": 48000, "languageCode": "en-US"}}'

    Response : {"name": "123456789"}
    123456789 was not the actual value.

    curl GET 1
    Now I wanted to have the results :

    curl --request GET --url 'https://speech.googleapis.com/v1/operations/123456789?fields=done%2Cerror%2Cmetadata%2Cname%2Cresponse&key={MY_API_KEY}'

    This gave me the error : Error : Unable to recognize speech, possible error in encoding or channel config. Please correct the config and retry the request.

    So I updated the encoding configuration from OGG_OPUS to LINEAR16.

    curl POST 2
    Did the post again :

    curl --request POST  --header "Content-Type: application/json" --url 'https://speech.googleapis.com/v1/speech:longrunningrecognize?fields=done%2Cerror%2Cmetadata%2Cname%2Cresponse&key={MY_API_KEY}' --data '{"audio": {"uri": "gs://{MY_BUCKET}/myaudio.opus"},"config": {"encoding": "LINEAR16", "sampleRateHertz": 48000, "languageCode": "en-US"}}'

    Response : {"name": "987654321"}

    curl GET 2

    curl --request GET --url 'https://speech.googleapis.com/v1/operations/987654321?fields=done%2Cerror%2Cmetadata%2Cname%2Cresponse&key={MY_API_KEY}'

    Response :

    {
     "name": "987654321",
     "metadata": {
       "@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeMetadata",
       "progressPercent": 100,
       "startTime": "2018-06-08T11:01:24.596504Z",
       "lastUpdateTime": "2018-06-08T11:01:51.825882Z"
     },
     "done": true
    }

    The problem is that I don’t get the actual transcription. According the the documentation there should be a response key in the response containing the data.

    Since I’m kinda stuck here I’d like to know if I’m doing something completely wrong. I don’t have any technical or resource limitation so all suggestions are very welcome ! Also happy to change my approach.

    Thanks in advance ! Cheers

  • FFMPEG MKV Causing Errors in DASH JS

    24 juin 2018, par Mike

    I’m getting the following browser errors (on all browsers) using Dash JS when transcoding and MKV file :

    ERROR DOMException: Failed to read the 'buffered' property from 'SourceBuffer': This SourceBuffer has been removed from the parent media source.

    and...

    dash.all.min.js:26 Uncaught (in promise) DOMException: Failed to load because no supported source was found.

    What’s weird is I have no issues when I transcode a MP4 file. I’m using FFMPEG in conjunction with Bento4 to build MPEG DASH and HLS files for my video player.

    What I did to single out FFMPEG was to transcode a video that gave me errors on my test server on my local machine (which works) and start the Bento4 process on that file. Doing that, I had no issues and everything played just fine.

    I have removed FFMPEG and reinstalled it multiple times and I always get the same result. I’m sure I screwed something up on my server, but for the life of me I can’t seem to figure out where to start with fixing the issue.

    FFMPEG Version

    ffmpeg version N-91321-ge85c608 Copyright (c) 2000-2018 the FFmpeg developers

    built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-28)

    configuration:
    --prefix=/root/ffmpeg_build
    --pkg-config-flags=--static
    --extra-cflags=-I/root/ffmpeg_build/include
    --extra-ldflags=-L/root/ffmpeg_build/lib
    --extra-libs=-lpthread
    --extra-libs=-lm
    --bindir=/root/bin
    --enable-gpl
    --enable-libfdk_aac
    --enable-libfreetype
    --enable-libmp3lame
    --enable-libopus
    --enable-libvorbis
    --enable-libtheora
    --enable-libx264
    --enable-nonfree
    libavutil      56. 18.102 / 56. 18.102
    libavcodec     58. 20.102 / 58. 20.102
    libavformat    58. 17.100 / 58. 17.100
    libavdevice    58.  4.101 / 58.  4.101
    libavfilter     7. 25.100 /  7. 25.100
    libswscale      5.  2.100 /  5.  2.100
    libswresample   3.  2.100 /  3.  2.100
    libpostproc    55.  2.100 / 55.  2.100

    FFMPEG Command

    ffmpeg
    -i ${DIRECTORY}/${INPUT_FILE}
    -progress ${DIRECTORY}/transcode.log
    -s 1920x1080
    -c:v libx264
    -b:v 3000k
    -c:a aac
    -b:a 32k
    -minrate 3000k
    -maxrate 3000k
    -bufsize 6000k
    -g 96
    -keyint_min 96
    -sc_threshold 0
    -profile:v high
    -flags +cgop
    -movflags faststart
    -preset ultrafast
    -pix_fmt yuv420p
    ${DIRECTORY}/ffmpeg_1920_1080_3000.mp4 &> ${DIRECTORY}/ffmpeg.log

    Also, I get no errors and and if I access the output files directly, they play just fine.

    I’m sure I’m not including all the information needed to troubleshoot this, so let me know if there is better information I can provide.

    What would cause FFMPEG to transcode MP4 and not MKV ?

    EDIT
    One last thing, I converted the MKV to an MP4 then used the above command and it worked. It’s like MP4 to MP4 is fine, but MKV to MP4 is broke.

  • ffmpeg h.246 plays locally in Safari, but not when hosted on s3 bucket

    7 juin 2018, par Simon Rogers

    ffmpeg h.246 plays locally in Safari, but not when hosted on s3 bucket.

    I thought it was therefore a problem with S3, however a friend has sent me an .mp4 of the same file converted with Zencoder’s service and this works perfectly, which surely means it must be a problem with my encoding settings in ffmpeg ?

    I’m using the settings recommended for maximum compatibility :

    ffmpeg -an -i mov-input-02.mov -vcodec libx264 -filter:v scale="1400:trunc(ow/a/2)*2" -movflags +faststart -pix_fmt yuv420p -profile:v baseline mov-output-02-1400.mp4

    Additionally, the .webm files I’m converting with ffmpeg all work perfectly in Chrome, Firefox, Opera etc.!

    I would really appreciate any thoughts.

    The video that works from Zencoder has this metadata :

    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1mp42
    creation_time   : 2018-06-01T11:24:54.000000Z
    Duration: 00:00:10.97, start: 0.000000, bitrate: 396 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p(tv, bt709), 1800x1200 [SAR 1:1 DAR 3:2], 394 kb/s, 30 fps, 30 tbr, 30 tbn, 60 tbc (default)
    Metadata:
     creation_time   : 2018-06-01T11:24:49.000000Z

    While my videos from ffmpeg which don’t work have this metadata :

    Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.12.100
    Duration: 00:00:10.97, start: 0.000000, bitrate: 184 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1400x932 [SAR 699:700 DAR 3:2], 182 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
     handler_name    : VideoHandler
     timecode        : 00:00:00:01
    Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
    Metadata:
     handler_name    : TimeCodeHandler
     timecode        : 00:00:00:01
    Unsupported codec with id 0 for input stream 1

    Here’s the full output from conversion :

       Tempuras-iMac:2018.06.05 tempura$ ffmpeg -an -i mov-input-01.mov -vcodec l      Tempuras-iMac:2018.06.05 tempura$ ffmpeg -an -i mov-input-02.mov -vcodec libx264 -filter:v scale="1400:trunc(ow/a/2)*2" -movflags +faststart -pix_fmt yuv420p -profile:v baseline -level 3 mov-output-02-1400.mp4
       ffmpeg version 4.0 Copyright (c) 2000-2018 the FFmpeg developers
         built with Apple LLVM version 8.1.0 (clang-802.0.42)
         configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
         libavutil      56. 14.100 / 56. 14.100
         libavcodec     58. 18.100 / 58. 18.100
         libavformat    58. 12.100 / 58. 12.100
         libavdevice    58.  3.100 / 58.  3.100
         libavfilter     7. 16.100 /  7. 16.100
         libavresample   4.  0.  0 /  4.  0.  0
         libswscale      5.  1.100 /  5.  1.100
         libswresample   3.  1.100 /  3.  1.100
         libpostproc    55.  1.100 / 55.  1.100
       Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'mov-input-02.mov':
         Metadata:
           major_brand     : qt  
           minor_version   : 537199360
           compatible_brands: qt  
           creation_time   : 2018-05-09T09:59:58.000000Z
         Duration: 00:00:10.97, start: 0.000000, bitrate: 114375 kb/s
           Stream #0:0(eng): Video: qtrle (rle  / 0x20656C72), rgb24(progressive), 2700x1800, 113610 kb/s, SAR 1:1 DAR 3:2, 30 fps, 30 tbr, 30 tbn, 30 tbc (default)
           Metadata:
             creation_time   : 2018-05-09T09:59:58.000000Z
             handler_name    : Apple Alias Data Handler
             encoder         : Animation
             timecode        : 00:00:00:01
           Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
           Metadata:
             creation_time   : 2018-05-09T09:59:58.000000Z
             handler_name    : Apple Alias Data Handler
             timecode        : 00:00:00:01
       Stream mapping:
         Stream #0:0 -> #0:0 (qtrle (native) -> h264 (libx264))
       Press [q] to stop, [?] for help
       [libx264 @ 0x7fac39004200] using SAR=699/700
       [libx264 @ 0x7fac39004200] frame MB size (88x59) > level limit (1620)
       [libx264 @ 0x7fac39004200] MB rate (155760) > level limit (40500)
       [libx264 @ 0x7fac39004200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
       [libx264 @ 0x7fac39004200] profile Constrained Baseline, level 3.0
       [libx264 @ 0x7fac39004200] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
       Output #0, mp4, to 'mov-output-02-1400.mp4':
         Metadata:
           major_brand     : qt  
           minor_version   : 537199360
           compatible_brands: qt  
           encoder         : Lavf58.12.100
           Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1400x932 [SAR 699:700 DAR 3:2], q=-1--1, 0.03 fps, 15360 tbn, 30 tbc (default)
           Metadata:
             creation_time   : 2018-05-09T09:59:58.000000Z
             handler_name    : Apple Alias Data Handler
             timecode        : 00:00:00:01
             encoder         : Lavc58.18.100 libx264
           Side data:
             cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       [mp4 @ 0x7fac39003000] Starting second pass: moving the moov atom to the beginning of the file    
       frame=  329 fps= 42 q=-1.0 Lsize=     248kB time=00:00:10.93 bitrate= 185.5kbits/s speed= 1.4x    
       video:245kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.042892%
       [libx264 @ 0x7fac39004200] frame I:2     Avg QP:15.82  size: 34370
       [libx264 @ 0x7fac39004200] frame P:327   Avg QP:16.88  size:   555
       [libx264 @ 0x7fac39004200] mb I  I16..4: 76.8%  0.0% 23.2%
       [libx264 @ 0x7fac39004200] mb P  I16..4:  0.5%  0.0%  0.2%  P16..4:  0.7%  0.2%  0.1%  0.0%  0.0%    skip:98.3%
       [libx264 @ 0x7fac39004200] coded y,uvDC,uvAC intra: 14.3% 0.1% 0.1% inter: 0.2% 0.0% 0.0%
       [libx264 @ 0x7fac39004200] i16 v,h,dc,p: 57% 39%  3%  0%
       [libx264 @ 0x7fac39004200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 24% 20%  2%  3%  3%  2%  3%  1%
       [libx264 @ 0x7fac39004200] i8c dc,h,v,p: 100%  0%  0%  0%
       [libx264 @ 0x7fac39004200] kb/s:182.53