Recherche avancée

Médias (0)

Mot : - Tags -/metadatas

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (112)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

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

  • Script d’installation automatique de MediaSPIP

    25 avril 2011, par

    Afin de palier aux difficultés d’installation dues principalement aux dépendances logicielles coté serveur, un script d’installation "tout en un" en bash a été créé afin de faciliter cette étape sur un serveur doté d’une distribution Linux compatible.
    Vous devez bénéficier d’un accès SSH à votre serveur et d’un compte "root" afin de l’utiliser, ce qui permettra d’installer les dépendances. Contactez votre hébergeur si vous ne disposez pas de cela.
    La documentation de l’utilisation du script d’installation (...)

Sur d’autres sites (9918)

  • How can I concatenate these two video files that are in different formats with ffmpeg ?

    11 juin 2018, par jaybers

    File s.mp4 is created from a photo and a silent audio track was added in.
    File r.mp4 was created using the built in video record on an android tablet.

    I would like to try to match s.mp4 to r.mp4 so that they can concatenate (s then r). Right now, the time base seems off and it plays audio from the r.mp4 but never shows the video. It it always shows the video from s.mp4. I was able to match the tbn of 90k by using -video_track_timescale 90k but I did not know how to match the tbc. It is 180k on one and 59.94 on the other.

    Probe for s.mp4

    ./ffprobe s.mp4
    ffprobe version 4.0-tessus Copyright (c) 2007-2018 the FFmpeg developers
     built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
     configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
     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
     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 's.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.25.100
     Duration: 00:00:05.04, start: 0.000000, bitrate: 296 kb/s
       Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 286 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 2 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    Probe for r.mp4

    ./ffprobe r.mp4
    ffprobe version 4.0-tessus Copyright (c) 2007-2018 the FFmpeg developers
     built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
     configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
     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
     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 'r.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2018-06-11T20:12:03.000000Z
       com.android.version: 7.0
     Duration: 00:00:10.89, start: 0.000000, bitrate: 17087 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709/bt709/smpte170m), 1920x1080, 16810 kb/s, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 90k tbn, 180k tbc (default)
       Metadata:
         creation_time   : 2018-06-11T20:12:03.000000Z
         handler_name    : VideoHandle
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s (default)
       Metadata:
         creation_time   : 2018-06-11T20:12:03.000000Z
         handler_name    : SoundHandle
  • ffmpeg encoding .mp4 fails in safari when hosted from s3. handbrake encoded video works first time

    11 juin 2018, par Simon Rogers

    The mp4 videos I’ve encoded with ffmpeg work perfectly in Safari if stored locally, but break if hosted from s3. I have tried countless encoding settings to no avail.

    However having just run a mov quickly through Handbrake and ticking ’optimise for web’ and encoding baseline @ 4.0, this has worked perfectly first time.

    I don’t understand what could be going wrong with my ffmpeg encoding.

    Things I have noticed about files from two separate encoders which work :

    They both have yuv420p(tv, bt709) whereas ffmpeg is just saying yuv420p – this is the only thing I can identify from ffprobe that is consistently different.

    I have done a fresh install of ffmpeg to no avail :

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass  --with-libvorbis --with-libvpx --with-opus --with-x265

    This error appears in all the files I have encoded with ffmpeg :

    Unsupported codec with id 0 for input stream 1

    ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

    mp4box gives the following for the ffmpeg video, which doesn’t work :

    Tempuras-iMac:tests tempura$ mp4box -info /Users/tempura/tests/mov-output-10-1400.mp4
    * Movie Info *
    Timescale 1000 - 1 track
    Computed Duration 00:00:10.967 - Indicated Duration 00:00:10.967
    Fragmented File: no
    File suitable for progressive download (moov before mdat)
    File Brand isom - version 512
       Compatible brands: isom iso2 avc1 mp41
    Created: UNKNOWN DATE   Modified: UNKNOWN DATE
    File has no MPEG4 IOD/OD

    iTunes Info:
    Encoder Software: Lavf58.12.100
    1 UDTA types: meta (1)

    Track # 1 Info - TrackID 1 - TimeScale 15360
    Media Duration 00:00:10.966 - Indicated Duration 00:00:10.966
    Track has 1 edit lists: track duration is 00:00:10.967
    Media Info: Language "English (eng)" - Type "vide:avc1" - 329 samples
    Visual Track layout: x=0 y=0 width=1800 height=1200
    MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
    AVC/H264 Video - Visual Size 1800 x 1200
    AVC Info: 1 SPS - 1 PPS - Profile Baseline @ Level 4
    NAL Unit length bits: 32
    Pixel Aspect Ratio 1:1 - Indicated track size 1800 x 1200
    Chroma format YUV 4:2:0 - Luma bit depth 8 - chroma bit depth 8
    SPS#1 hash: 2BD106A8DFD73B92825D87D4D312B22F9CEC1986
    PPS#1 hash: 656AE5F3BE854F3C8B889E72310662390F18EDBD
    Self-synchronized
    RFC6381 Codec Parameters: avc1.42C028
    Average GOP length: 329 samples

    And gives the following for two videos that do work.

    First :

    Tempuras-iMac:tests tempura$ mp4box -info /Users/tempura/tests/mov-output-05-1400.mp4
    [iso file] Unknown box type tmcd
    [iso file] Read Box type  (0x00000000) has size 0 but is not at root/file level, skipping
    * Movie Info *
    Timescale 1000 - 2 tracks
    Computed Duration 00:00:10.967 - Indicated Duration 00:00:10.967
    Fragmented File: no
    File suitable for progressive download (moov before mdat)
    File Brand isom - version 512
       Compatible brands: isom iso2 avc1 mp41
    Created: UNKNOWN DATE   Modified: UNKNOWN DATE
    File has no MPEG4 IOD/OD

    iTunes Info:
    Encoder Software: Lavf58.12.100
    1 UDTA types: meta (1)

    Track # 1 Info - TrackID 1 - TimeScale 15360
    Media Duration 00:00:10.966 - Indicated Duration 00:00:10.966
    Track has 1 edit lists: track duration is 00:00:10.967
    Media Info: Language "English (eng)" - Type "vide:avc1" - 329 samples
    Visual Track layout: x=0 y=0 width=1800 height=1200
    MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
    AVC/H264 Video - Visual Size 1800 x 1200
    AVC Info: 1 SPS - 1 PPS - Profile Baseline @ Level 4
    NAL Unit length bits: 32
    Pixel Aspect Ratio 1:1 - Indicated track size 1800 x 1200
    Chroma format YUV 4:2:0 - Luma bit depth 8 - chroma bit depth 8
    SPS#1 hash: 39D86732FD5F78B18F2E83C651FAE38EA0E30A6D
    PPS#1 hash: 656AE5F3BE854F3C8B889E72310662390F18EDBD
    Self-synchronized
    RFC6381 Codec Parameters: avc1.42C028
    Average GOP length: 329 samples

    Track # 2 Info - TrackID 2 - TimeScale 15360
    Media Duration 00:00:10.966 - Indicated Duration 00:00:10.966
    Track has 1 edit lists: track duration is 00:00:10.967
    Track is disabled
    Media Info: Language "Undetermined (und)" - Type "tmcd:tmcd" - 1 samples
    Unknown media type
    RFC6381 Codec Parameters: tmcd
    All samples are sync

    Second :

    Tempuras-iMac:tests tempura$ mp4box -info /Users/tempura/Documents/yes_2106.mp4
    * Movie Info *
    Timescale 30000 - 1 track
    Computed Duration 00:00:10.966 - Indicated Duration 00:00:10.966
    Fragmented File: no
    File suitable for progressive download (moov before mdat)
    File Brand isom - version 1
       Compatible brands: isom avc1 mp42
    Created: GMT Fri Jun  1 11:24:54 2018
    Modified: GMT Fri Jun  1 11:24:54 2018

    File has root IOD (9 bytes)
    Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
    Visual PL: ISO Reserved Profile (0x15)
    Audio PL: No audio capability required (0xff)
    No streams included in root OD

    Track # 1 Info - TrackID 1 - TimeScale 30
    Media Duration 00:00:10.966 - Indicated Duration 00:00:10.966
    Media Info: Language "Undetermined (und)" - Type "vide:avc1" - 329 samples
    Visual Track layout: x=0 y=0 width=1800 height=1200
    MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
    AVC/H264 Video - Visual Size 1800 x 1200
    AVC Info: 1 SPS - 1 PPS - Profile Baseline @ Level 4.2
    NAL Unit length bits: 32
    Pixel Aspect Ratio 1:1 - Indicated track size 1800 x 1200
    Chroma format YUV 4:2:0 - Luma bit depth 8 - chroma bit depth 8
    SPS#1 hash: ED5CFE0A3F65F36ADCFA347C1273A29784E8AEAC
    PPS#1 hash: 7ECF7597FDDAC5F8C82B54BFB40A1F9A8D8807FA
    Self-synchronized
    RFC6381 Codec Parameters: avc1.42C02A
    Average GOP length: 329 samples
  • How to use Google's Cloud Speech-to-Text REST API to transcribe a video

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