Recherche avancée

Médias (1)

Mot : - Tags -/copyleft

Autres articles (81)

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

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (8279)

  • ffmpeg combining mp4 videos incorrectly

    9 juin 2018, par wdsfds

    i have a list of 20 mp4 files that I need to combine into one video. They are all 60 FPS, but range in size. In between each mp4 file I need to show its ’intro’, a 1.5 second clip about the file.

    Reference :

    • pics/i.png - intro for the nth mp4 file
    • clips/i_intro.mp4 - mp4 intro generated from i.png
    • clips/i.mp4 - original mp4
    • clips/i_resize.mp4 - 720p mp4

    Here is what I’ve done :

    Convert image to mp4 using this command (taken from this post) :

    ffmpeg -y -i pics/{i}.png -f lavfi -i anullsrc -r 60 -pix_fmt yuv420p -ac 2 -ar 44100 -video_track_timescale 90k -t 1.5 clips/{i}_intro.mp4

    Convert i.mp4 to 720p using this command (taken from this post) :

    ffmpeg -i clips/{i}.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k -vf scale=-2:720,format=yuv420p {i}_resize.mp4

    Created a file like this :

    file 1_intro.mp4
    file 1_resize.mp4
    file 2_intro.mp4
    file 2_resize.mp4
    ...

    Combine all clips :

    ffmpeg -f concat -i {video_list} -c copy out.mp4

    This generates a file, but it is definitely messed up. When I combined the files I got a ton of warning messages like this :

    [mp4 @ 0x7f88fe01de00] Non-monotonous DTS in output stream 0:0;
    previous: 48966232, current: 8826932; changing to 48966233. This may
    result in incorrect timestamps in the output file.

    FFprobe for out.mp4

    ffprobe version 4.0 Copyright (c) 2007-2018 the FFmpeg developers
     built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
     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-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 'out.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.12.100
     Duration: 00:09:35.56, start: 0.000000, bitrate: 4119 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 4221 kb/s, 59.98 fps, 351.56 tbr, 90k tbn, 120 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 122 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    FFprobe for 1.mp4

    ffprobe version 4.0 Copyright (c) 2007-2018 the FFmpeg developers
     built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
     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-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 '1.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf57.71.100
     Duration: 00:00:40.94, start: 0.000000, bitrate: 7613 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709/unknown/unknown), 1920x1080 [SAR 1:1 DAR 16:9], 7451 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 160 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    FFprobe for 1_resized.mp4

    ffprobe version 4.0 Copyright (c) 2007-2018 the FFmpeg developers
     built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
     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-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 '1_resize.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.12.100
     Duration: 00:00:32.37, start: 0.000000, bitrate: 3266 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 3127 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 129 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    FFprobe for 1_intro.mp4

    ffprobe version 4.0 Copyright (c) 2007-2018 the FFmpeg developers
     built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
     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-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 '1_intro.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.12.100
     Duration: 00:00:01.52, start: 0.000000, bitrate: 113 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 4667 kb/s, 60 fps, 60 tbr, 90k tbn, 120 tbc (default)
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 2 kb/s (default)
       Metadata:
         handler_name    : SoundHandler

    I noticed that the length of the files are different, and the tbn in different, but idk what that means. Thanks for helping !

  • 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

  • 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