
Recherche avancée
Autres articles (22)
-
Librairies et logiciels spécifiques aux médias
10 décembre 2010, parPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel ; FFMpeg avec le maximum de décodeurs et (...) -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...) -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (6112)
-
FFmpeg - How to choose video stream based on resolution
23 septembre 2023, par SylvenI want to choose the video stream based on it's quality, let's say I want to choose one video stream with certain resolution.


Manually selecting the video stream is not good enough for me because I want to process many files in bulk and they have the video streams in different order, so always going for certain position would make me end up with different resolutions.


I don't want to use filters as that would make me reencode which I don't need and would make it way slower.


I've tried using the
-map
with metadata but the only key that is different is "variant_bitrate" which has slightly different values everytime, so unless I can use some wildcard or conditionals, I guess it won't work either.

What I want to try now is to obtain the exact bitrate of the stream using
ffmpeg
orffprobe
and then pass it to theffmpeg
command so it ends in something like this :

ffmpeg -i <url> -map m:variant_bitrate:1760000 ...</url>


PD : I've been reading the FFmpeg documentation and browsing the whole internet without luck.


Edit :
I managed to make it work by first using
ffprobe
to obtain stream info in json format (easier to parse), then I search for the string"height": 540
and extract next 50 lines (counted them manually so I'm sure I'll pick the value I need), then I search for the stringvariant_bitrate
and then I use a regular expression to extract the bitrate. Once I have the bitrate I make use of the MacOS clipboard (withpbcopy
andpbpaste
) to pass the value to the finalffmpeg
command through the-map
option using a metadata selector.

ffprobe -v error -show_streams -of json "https://streamlink.com/master.m3u8?f=dash"
| grep -A 50 '"height": 540' 
| grep variant_bitrate
| grep -oe '\([0-9.]*\)' 
| pbcopy
&& ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i "https://streamlink.com/master.m3u8?f=dash" -map "0:a:0" -map "m:variant_bitrate:$(pbpaste)" -c copy "Output.mp4"



(added line breaks for readability)


I know it looks kinda dirty but I didn't find any other way to achieve my requirement.


-
PowerShell progress bar won't display
23 juillet 2014, par BrettI’m trying to write my first PowerShell GUI. Basically I’m trying to run a
ffmpeg
command which is fine and works, but I cannot get the progress bar to run. (I’m brand new to this.) Here is my attempt.cd C:\Users\brett\Documents\convert
$cmd = 'ffmpeg.exe'
$arg0 = '-i'
$arg1 = 'MASH_01.ts'
$arg2 = '-c:v'
$arg3 = '-c:a'
$arg4 = 'MASH_01.mp4'
$cf = 'copy'
$isFile = 'MASH_01.mp4'
if (-not(Test-Path -Path $isFile) -eq $false) {
echo "Shit Go"
del $isFile
& $cmd $arg0 $arg1 $arg2 $cf $arg3 $cf $arg4
for ($i = 1; $i -le 100; $i++) {
Start-Sleep -m 100
Write-Progress -Activity 'Progress Of The Coversion' -Status "$i Percent Complete" -PercentComplete $i;
}
} else {
& $cmd $arg0 $arg1 $arg2 $cf $arg3 $cf $arg4
for ($i = 1; $i -le 100; $i++) {
Start-Sleep -m 100
Write-Progress -Activity 'Progress Of The Coversion' -Status "$i Percent Complete" -PercentComplete $i;
}
}Update : There is no error output I can see, but the progress bar runs after the file has been processed, not during.
here is my latest attempt.. but now i get ffmpeg saying "m" is not a valid switch
cd C:\Users\brett\Documents\convert
$oldVideo = Get-ChildItem -Include @("*.ts")
Write-Host -ForegroundColor Green -Object $ArgumentList;
# Pause the script until user hits enter
$isFile = 'MASH_01.mp4'
if( -not(Test-Path -Path $isFile) -eq $false) {
echo "Shit Go"
del $isFile
}a
$tool = ffmpeg.exe
$ArgumentList = '`-i'+' '+'MASH_01.ts'+' '+'-c:v'+' '+'copy'+' '+'-c:a'+' '+'copy'+' '+'MASH_01.mp4';
Invoke-Expression $tool $ArgumentList
for($i = 1; $i -le 100; $i++){
ffmpeg $ArgumentList -m 100
Write-Progress -Activity 'Progress Of The Coversion' -Status "$i Percent Complete" -PercentComplete $i
`-SecondsRemaining $a -CurrentOperation
"$i% complete" `
} -
PowerShell progress bar won't display
28 mai 2021, par BrettI'm trying to write my first PowerShell GUI. Basically I'm trying to run a
ffmpeg
command which is fine and works, but I cannot get the progress bar to run. (I'm brand new to this.) Here is my attempt.


cd C:\Users\brett\Documents\convert
$cmd = 'ffmpeg.exe'
$arg0 = '-i'
$arg1 = 'MASH_01.ts'
$arg2 = '-c:v'
$arg3 = '-c:a'
$arg4 = 'MASH_01.mp4'
$cf = 'copy'
$isFile = 'MASH_01.mp4'
if (-not(Test-Path -Path $isFile) -eq $false) {
 echo "Shit Go"
 del $isFile

 & $cmd $arg0 $arg1 $arg2 $cf $arg3 $cf $arg4
 for ($i = 1; $i -le 100; $i++) {
 Start-Sleep -m 100
 Write-Progress -Activity 'Progress Of The Coversion' -Status "$i Percent Complete" -PercentComplete $i;
 }
} else {
& $cmd $arg0 $arg1 $arg2 $cf $arg3 $cf $arg4
 for ($i = 1; $i -le 100; $i++) {
 Start-Sleep -m 100
 Write-Progress -Activity 'Progress Of The Coversion' -Status "$i Percent Complete" -PercentComplete $i;
 }
}




Update : There is no error output I can see, but the progress bar runs after the file has been processed, not during.



here is my latest attempt.. but now i get ffmpeg saying "m" is not a valid switch



cd C:\Users\brett\Documents\convert
$oldVideo = Get-ChildItem -Include @("*.ts")
Write-Host -ForegroundColor Green -Object $ArgumentList;
# Pause the script until user hits enter
$isFile = 'MASH_01.mp4'
if( -not(Test-Path -Path $isFile) -eq $false) {
 echo "Shit Go"
 del $isFile
 }a
 $tool = ffmpeg.exe
$ArgumentList = '`-i'+' '+'MASH_01.ts'+' '+'-c:v'+' '+'copy'+' '+'-c:a'+' '+'copy'+' '+'MASH_01.mp4';
Invoke-Expression $tool $ArgumentList
for($i = 1; $i -le 100; $i++){
 ffmpeg $ArgumentList -m 100

 Write-Progress -Activity 'Progress Of The Coversion' -Status "$i Percent Complete" -PercentComplete $i 
 `-SecondsRemaining $a -CurrentOperation
 "$i% complete" `

 }