Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (69)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, 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 (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Configuration spécifique pour PHP5

    4 février 2011, par

    PHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
    Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
    Modules spécifiques
    Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)

Sur d’autres sites (10553)

  • FFMPEG HLS multiple Tracks not in sync

    2 juin 2020, par LordFenixNC

    This script works but the video doesnt sync with the sub or audio tracks. Could someone help fix this or Help me with a NEW script. I have been trying to figure this out with 0 luck and have had friends look at it. I even went to FFMPEG discord and FB asking for help from others who have posted scripts in the past. Seems no one has a interest in this. Please will someone help me.

    



    All I am trying to do is BULK encode MKVs to HLS with multiple resoutions in 10 sec segments and include all the Audio and SUb tracks that were originally in the MKV

    



    $files = Get-ChildItem ${Get-Location}
$loco = Get-Location
$p1 = Join-Path -Path $loco -ChildPath "/out"
New-Item -ItemType Directory -Force -Path $p1



function lnCodeTransform {
    param( $String )
    echo $String
    switch ($String)
    {
        "jpn" {"jp"}
        "eng" {"en"}
        "esp" {"es"}
        "fra" {"fr"}
        "deu" {"de"}
        default {$String}
    }
}


function lnNameTransform {
    param( $String )
    switch ($String)
    {
        "jpn" {"Japanese"}
        "eng" {"English"}
        "esp" {"Spanish"}
        "fra" {"French"}
        "deu" {"German"}
        default {$String}
    }
}


foreach ($f in $files){ 
    if ($f.Name -eq "out"){
        continue;
    }
    $p2 = Join-Path -Path $loco -ChildPath "/out/" | Join-Path -ChildPath $f
    New-Item -ItemType Directory -Force -Path $p2/audio
    New-Item -ItemType Directory -Force -Path $p2/video
    New-Item -ItemType Directory -Force -Path $p2/subtitle
    $sb = [System.Text.StringBuilder]::new();
    [void]$sb.AppendLine( '#EXTM3U' )
    [void]$sb.AppendLine( '#EXT-X-VERSION:3' )
    #[void]$sb.AppendLine( '#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360' )
    #[void]$sb.AppendLine( '360p.m3u8' )


    New-Item -ItemType Directory -Force -Path $p2
    $resStr = ffprobe -v error -select_streams v:0 -show_entries stream=height -of csv=s=x:p=0 $f.FullName;
    $res = [convert]::ToInt32($resStr)
    $audioTracks = ffprobe $f.FullName -show_entries stream=index:stream_tags=language -select_streams a -of compact=p=0:nk=1 
    $audioTracks = $audioTracks.split("\n")
    foreach($audio in $audioTracks) {
        $ID = $audio.split("|")[0];
        $audioName = $audio.split("|")[1];
        ffmpeg -i $f.FullName -threads 0 -muxdelay 0 -y -map 0:$ID -async 1 -codec aac -f segment -segment_time 10 -segment_list_size 0 -segment_list out/$f/audio/audio_"$ID.m3u8" -segment_format mpegts out/$f/audio/"audio_$ID""_%d.ts"
        $name = lnNameTransform($audioName)
        $code = lnCodeTransform($audioName)
        [void]$sb.AppendLine( "#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID=`"aac`",LANGUAGE=`"$code`",NAME=`"$name`",DEFAULT=NO,AUTOSELECT=NO,URI=`"audio/audio_$ID.m3u8`"" )
    }
    $subTracks = ffprobe $f.FullName -show_entries stream=index:stream_tags=language -select_streams s -of compact=p=0:nk=1 
    $subTracks = $subTracks.split("")
    foreach($subtitle in $subTracks) {
        $ID = $subtitle.split("|")[0];
        $subName = $subtitle.split("|")[1];
        ffmpeg -i $f.FullName -map 0:$ID -f segment -segment_time 10 -segment_list_size 0 -segment_list out/$f/subtitle/sub_"$subName.m3u8" -segment_format webvtt -scodec webvtt out/$f/subtitle/"sub_$subName%d.vtt"
        $name = lnNameTransform($subName)
        $code = lnCodeTransform($subName)
        [void]$sb.AppendLine( "#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID=`"subs`",LANGUAGE=`"$code`",NAME=`"$name`",FORCED=NO,AUTOSELECT=NO,URI=`"subtitle/sub_$subName.m3u8`"" )
    }

    [void]$sb.AppendLine( '#EXT-X-STREAM-INF:BANDWIDTH=1400000,CODECS="avc1.4d4015,mp4a.40.2",RESOLUTION=842x480,AUDIO="aac",SUBTITLES="subs"' )
    [void]$sb.AppendLine( 'video/480p.m3u8' )
    #ffmpeg -i $f.FullName -c:a copy -vf scale=w=640:h=360:force_original_aspect_ratio=decrease -c:a aac -ar 48000  -rc cqp -qp_p 0 -qp_i 1 -profile:v main -crf 20 -sc_threshold 0 -g 48 -keyint_min 48 -hls_time 4 -hls_playlist_type vod  -b:v 800k -maxrate 856k -bufsize 1200k -b:a 96k -hls_segment_filename out/$f/360p_%03d.ts out/$f/360p.m3u8 -vf scale=w=842:h=480:force_original_aspect_ratio=decrease -c:a aac -ar 48000 -gpu 1 -c:v h264_amf -rc cqp -qp_p 0 -qp_i 1 -profile:v main -crf 20 -sc_threshold 0 -g 48 -keyint_min 48 -hls_time 4 -hls_playlist_type vod -b:v 1400k -maxrate 1498k -bufsize 2100k -b:a 128k -hls_segment_filename out/$f/480p_%03d.ts out/$f/480p.m3u8 -vf  scale=w=1280:h=720:force_original_aspect_ratio=decrease -c:a aac -ar 48000 -gpu 1 -c:v h264_amf -rc cqp -qp_p 0 -qp_i 1 -profile:v main -crf 20 -sc_threshold 0 -g 48 -keyint_min 48 -hls_time 4 -hls_playlist_type vod -b:v 2800k -maxrate 2996k -bufsize 4200k -b:a 128k -hls_segment_filename out/$f/720p_%03d.ts out/$f/720p.m3u8 -vf  scale=w=1920:h=1080:force_original_aspect_ratio=decrease -c:a aac -ar 48000 -gpu 1 -c:v h264_amf -rc cqp -qp_p 0 -qp_i 1 -profile:v main -crf 20 -sc_threshold 0 -g 48 -keyint_min 48 -hls_time 4 -hls_playlist_type vod -b:v 5000k -maxrate 5350k -bufsize 7500k -b:a 192k -hls_segment_filename out/$f/1080p_%03d.ts out/$f/1080p.m3u8
    #ffmpeg -hwaccel auto -hwaccel_device 0 -i $f.FullName -c:v h264 -profile:v main -c:a aac -filter:v scale=360:640 -ar 48000  -rc cqp -qp_p 0 -qp_i 1 -profile:v main -crf 23 -sc_threshold 0 -g 48 -b:v 800k -maxrate 856k -bufsize 1200k -b:a 96k  -keyint_min 4 -start_number 0 -hls_time 10 -hls_playlist_type vod  -hls_list_size 0 -f hls -hls_segment_filename out/$f/360p_%03d.ts out/$f/360p.m3u8 
    #ffmpeg -hwaccel auto -hwaccel_device 0 -i $f.FullName -c:v h264 -profile:v main -c:a aac -filter:v scale=360:640 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls -hls_segment_filename out/$f/360p_%03d.ts out/$f/360p.m3u8 
    ffmpeg -i $f.FullName -c:v h264 -async 1 -profile:v main -y -filter:v scale="trunc(oh*a/2)*2:480" -map 0:v -start_number 0 -hls_time 10 -hls_list_size 0 -f hls -hls_segment_filename out/$f/video/480p_%03d.ts out/$f/video/480p.m3u8
    If($res -ge 720) {
        ffmpeg -i $f.FullName -c:v h264 -profile:v main -filter:v scale="trunc(oh*a/2)*2:720" -map 0:v -start_number 0 -hls_time 10 -hls_list_size 0 -f hls -hls_segment_filename out/$f/video/720p_%03d.ts out/$f/video/720p.m3u8
        [void]$sb.AppendLine( '#EXT-X-STREAM-INF:BANDWIDTH=2800000,CODECS="avc1.4d4015,mp4a.40.2",RESOLUTION=1280x720,AUDIO="aac",SUBTITLES="subs"' )
        [void]$sb.AppendLine( 'video/720p.m3u8' )
    }   
    If($res -ge 1080) {
        ffmpeg -i $f.FullName -c:v h264 -profile:v main -filter:v scale="trunc(oh*a/2)*2:1080" -map 0:v -start_number 0 -hls_time 10 -hls_list_size 0 -f hls -hls_segment_filename out/$f/video/1080p_%03d.ts out/$f/video/1080p.m3u8
        [void]$sb.AppendLine( '#EXT-X-STREAM-INF:BANDWIDTH=5000000,CODECS="avc1.4d4015,mp4a.40.2",RESOLUTION=1920x1080,AUDIO="aac",SUBTITLES="subs"' )
        [void]$sb.AppendLine( 'video/1080p.m3u8' )
    }

    $p3 = Join-Path -Path $p2 -ChildPath "/index.m3u8"
    #echo $index | Out-File -Encoding UTF8 -LiteralPath $p3
    echo $sb.ToString()
    [System.IO.File]::WriteAllLines($p3, $sb.ToString().Trim().replace("`r`n", "`n"))
}
$sw.Stop()
echo $sw.Elapsed ``` 


    


  • Ffmpeg burnt in subtitles out of sync when converting to hls

    19 mai 2020, par user1503606

    I have a file that has subtitles burn into it and they are perfectly in sync.

    



    Here is the file. https://983yqbz442.s3.amazonaws.com/little-mermaid-captions.mp4

    



    I run this command to convert to hls and it creates the .ts files and the .vtt files.

    



    ffmpeg -i little-mermaid-captions.mp4 -profile:v baseline -level 3.0 -s 640x360 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls index.m3u8


    



    I also then create a master.m3u8 file in the same folder with the following.

    



    #EXTM3U
#EXT-X-VERSION:3
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-STREAM-INF:BANDWIDTH=800000,RESOLUTION=640x360,SUBTITLES="subtitles"
index.m3u8
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subtitles",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO,LANGUAGE="ENG",URI="index_vtt.m3u8"


    



    Now if I play the master.m3u8 file the subtitles are now out of sync and are about 1 sec to quick. I understand this is probably a setting I am missing through FFmpeg but really stuck on this and would appreciate any insight.

    



    Thanks

    



    More info.

    



    Here is a link to the direct .m3u8 this can be opened in Safari.

    



    https://983yqbz442.s3.amazonaws.com/hlstests/master.m3u8

    



    The generated vtt file is here.

    



    https://983yqbz442.s3.amazonaws.com/hlstests/subs-0.vtt

    



    If you look at the start of the .vtt file you will see this.

    



    WEBVTT

00:06.840 --> 00:10.320
once long ago in the deep blue below


    



    It should start at 00:06.840 but when playing the .m3u8 file in Safari you should see it starts at around 5 seconds not 6 about a second too early.

    


  • ffmpeg : Convert a legally purchased video on Google

    24 avril 2020, par Heycava

    I've bought a video on the Google Play Store. I need to have it on my computer in order to edit it for a video montage. But Google says "Important : You cannot download movies and TV shows onto a PC, Mac, and other laptops or computers."

    



    The video has a YouTube link. As I paid for it, I can watch it. I've managed to get the video part and the audio thanks to some web tools.
The video is a .webm file and the audio a .m4a file.

    



    I can hear the audio with VLC but I can't watch the video. Even if VLC displays "21:42" for the timecode.

    



    Here are informations for the webm file (from MediaInfo) :

    



    General
Complete name                            : XXX\videoplayback.webm
Format                                   : WebM
Format version                           : Version 4 / Version 2
File size                                : 357 MiB
Duration                                 : 21 min 42 s
Overall bit rate                         : 2 301 kb/s
Writing application                      : google/video-file
Writing library                          : google/video-file

Video
ID                                       : 1
Format                                   : VP9
Codec ID                                 : V_VP9
Duration                                 : 21 min 42 s
Bit rate                                 : 2 203 kb/s
Width                                    : 854 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Bits/(Pixel*Frame)                       : 0.224
Stream size                              : 342 MiB (96%)
Language                                 : English
Default                                  : Yes
Forced                                   : No


    



    It seems to be a good video file.

    



    I wanted to convert it with some video converters but none of them works. So I've tried to download ffmpeg, I renamed the video to "video.webm" and tried a lot of commands. But none of them worked.

    



    Here are informations from ffprobe command :

    



    C:\Users\XXX\Downloads\ffmpeg-20200424-a501947-win64-static\bin>ffprobe -i video.webm


    



    Results :

    



    ffprobe version git-2020-04-24-a501947 Copyright (c) 2007-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200328
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --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-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 42.102 / 56. 42.102
  libavcodec     58. 81.100 / 58. 81.100
  libavformat    58. 42.101 / 58. 42.101
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 79.100 /  7. 79.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
[vp9 @ 00000284720d5f40] Invalid frame marker
    Last message repeated 111 times
[vp9 @ 00000284720d5f40] Profile 4 is not yet supported
[vp9 @ 00000284720d5f40] Invalid frame marker
    Last message repeated 6 times
[matroska,webm @ 00000284720cd840] decoding for stream 0 failed
[matroska,webm @ 00000284720cd840] Could not find codec parameters for stream 0 (Video: vp9 (Profile 0), none, 854x480): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, matroska,webm, from 'video.webm':
  Metadata:
    encoder         : google/video-file
  Duration: 00:21:42.05, start: 0.000000, bitrate: 2301 kb/s
    Stream #0:0(eng): Video: vp9 (Profile 0), none, 854x480, SAR 1:1 DAR 427:240, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      enc_key_id      : [24 characters I prefer not to display]


    



    If ever I initiate a conversion, I get :

    



    [vp9 @ 0000019038a80980] Invalid frame marker
[vp9 @ 0000019038c0fe40] Invalid frame marker
[vp9 @ 0000019038c193c0] Invalid frame marker
[vp9 @ 0000019038c1e780] Invalid frame marker
[vp9 @ 0000019038c29100] Invalid frame marker
[vp9 @ 0000019038c324c0] Invalid frame marker
[vp9 @ 0000019038c3d480] Invalid frame marker
[vp9 @ 0000019038c47280] Invalid frame marker
Error while decoding stream #0:0: Invalid data found when processing input
[vp9 @ 0000019038c4c080] Invalid frame marker
Error while decoding stream #0:0: Invalid data found when processing input
[vp9 @ 0000019038a80980] Invalid frame marker


    



    etc.
Then :

    



    Error while decoding stream #0:0: Resource temporarily unavailable
    Last message repeated 243 times
Error while decoding stream #0:0: Resource temporarily unavailabletrate=  -0.0kbits/s speed=N/A
    Last message repeated 306 times
Error while decoding stream #0:0: Resource temporarily unavailabletrate=  -0.0kbits/s speed=N/A
    Last message repeated 190 times


    



    I've already checked on the Internet solutions for the raised issues :

    



      

    • Invalid frame marker
    • 


    • unspecified pixel format
    • 


    • Consider increasing the value for the 'analyzeduration' and 'probesize' options
    • 


    



    But it didn't work in my case.

    



    Obviously, I can watch the video on YouTube when I'm logged into my purchase account. I presume they have a high level security algorithm, that's why I can't do nothing. Mayve there is something with the "enc_key_id" in the metadata, they get it and the video can only be read with it. I don't know.

    



    I find it unacceptable not to be able to use freely my purchased videos.

    



    Would anyone have an idea ?