
Recherche avancée
Médias (1)
-
Rennes Emotion Map 2010-11
19 octobre 2011, par
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (69)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 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, parMediaspip 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, parPHP5 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 LordFenixNCThis 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 user1503606I 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 HeycavaI'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 ?