
Recherche avancée
Médias (2)
-
Valkaama DVD Label
4 octobre 2011, par
Mis à jour : Février 2013
Langue : English
Type : Image
-
Podcasting Legal guide
16 mai 2011, par
Mis à jour : Mai 2011
Langue : English
Type : Texte
Autres articles (68)
-
Formulaire personnalisable
21 juin 2013, parCette page présente les champs disponibles dans le formulaire de publication d’un média et il indique les différents champs qu’on peut ajouter. Formulaire de création d’un Media
Dans le cas d’un document de type média, les champs proposés par défaut sont : Texte Activer/Désactiver le forum ( on peut désactiver l’invite au commentaire pour chaque article ) Licence Ajout/suppression d’auteurs Tags
On peut modifier ce formulaire dans la partie :
Administration > Configuration des masques de formulaire. (...) -
Participer à sa traduction
10 avril 2011Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
Actuellement MediaSPIP n’est disponible qu’en français et (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)
Sur d’autres sites (10937)
-
ffmpeg+php Add Music to video
19 septembre 2013, par user2792392Dear Sir i create this code for simple video convert from one to another.
i want to add more feature like
ffmpeg+php Add Music to videohow to do it ??
convert request to begin encoding the video, andstatus
request that retrieves
* the current encoding status so the progress bar can be updated.
*
* The $outfile variable should be changed to an input value, but is set this way
* for now for testing purposes.
*
* @ver 0.1
*/
require 'config.php' ;
require 'functions.php' ;//<<-- CHECK FOR ERRORS -->>//
$type = _chkVal('type', '');
$fkey = _chkVal('fkey', '');
$infile = _chkVal('filename', '');
$outfile = 'testing.mp4';
$params = _chkVal('params', '');
// Check Request Type
$validTypes = array('convert', 'status');
if( !in_array($type, $validTypes) )
json_response(array('fkey' => $fkey, 'msg' => 'Invalid process type!'), true);
// $fkey will always be 8 characters.
// It's created with PHP's hash() function using 'crc32' algorithm in index.php
if( strlen($fkey) != 8 )
json_response(array_merge(array('fkey' => '', 'msg' => 'Invalid fkey given!')), true);
// Filename should be at least 5 (1 character + 4 character extension. EX : i.mp4)
if( $type == 'convert' && ( strlen($infile) < 5) )
json_response(array('fkey' => $fkey, 'msg' => 'Invalid input filename given!'), true);
// Filename should be at least 5 (1 character + 4 character extension. EX : i.mp4)
if( $type == 'convert' && ( strlen($outfile) < 5) )
json_response(array('fkey' => $fkey, 'msg' => 'Invalid output filename given!'), true);
if( $type == 'convert' && (strlen($params) < 1) )
json_response(array('fkey' => $fkey, 'msg' => 'Invalid parameters given!'), true);
//<<-- END OF ERROR CHECK -->>//
$ffmpegConvert = new ffmpegConvert($fkey);
//<<-- PROCESS REQUEST -->>//
// Start the video conversion
if( $type == 'convert' )
{
$ffmpegConvert->exec( $infile, $outfile, $params, $fkey );
// Add 2 second delay to give the server time to start writing the status log,
// otherwise $ffmpegConvert->jsonStatus() will trigger an error...
sleep(2);
$ffmpegConvert->jsonStatus();
}
// Check on video conversion progress
if( $_POST['type'] == 'status' )
{
$ffmpegConvert->jsonStatus();
}
//<<-- END OF PROCESS REQUEST -->>//
// Shouldn't get to this, but if so, let's send a message for debugging reasons....
json_response(array('msg' => 'Unhandled request type!'), true); -
Converting ffmpeg loudnorm first pass dcf summary report output to data.frame R
23 décembre 2022, par ChrisFollowing from operations on a video with ffmpeg, a
loudnorm
first pass report for purely audio files is produced

names(aud_proc_df)
[1] "in_files" "proc_out" "filter"

cmds_loudness_report <- with(aud_proc_df, sprintf("ffmpeg -hide_banner -i %s -af loudnorm=I=-23:TP=-2:LRA=7:print_format=summary -f null /dev/null 2>&1 | tail -n 12 >> loudness_rpt_all.txt", in_files)) # linux specific notation
lapply(cmds_loudness_report, system)



reading this as a .csv rather than .dcf


loudness_df_csv <- read.csv('loudness_rpt_all.txt', header = FALSE, sep =':')
head(loudness_df_csv)
 V1 V2
1 Input Integrated -24.7 LUFS
2 Input True Peak -1.6 dBTP
3 Input LRA 17.9 LU
4 Input Threshold -37.8 LUFS
5 Output Integrated -23.4 LUFS
6 Output True Peak -2.0 dBTP
#data
structure(list(V1 = c("Input Integrated", "Input True Peak", 
"Input LRA", "Input Threshold", "Output Integrated", "Output True Peak", 
"Output LRA", "Output Threshold", "Normalization Type", "Target Offset", 
"Input Integrated", "Input True Peak", "Input LRA", "Input Threshold", 
"Output Integrated", "Output True Peak", "Output LRA", "Output Threshold", 
"Normalization Type", "Target Offset"), V2 = c(" -24.7 LUFS", 
" -1.6 dBTP", " 17.9 LU", " -37.8 LUFS", 
" -23.4 LUFS", " -2.0 dBTP", " 14.8 LU", " -36.2 LUFS", 
" Dynamic", " +0.4 LU", " -23.9 LUFS", " +0.2 dBTP", 
" 22.0 LU", " -37.6 LUFS", " -23.6 LUFS", " -2.0 dBTP", 
" 21.9 LU", " -37.0 LUFS", " Dynamic", " +0.6 LU"
)), row.names = c(NA, 20L), class = "data.frame")



then, for column notation portability between win and linux systems


df_names <- unique(loudness_df_csv$V1)
df_names2 <- gsub(' ', '_', df_names)



and then make a data.frame


loudnorm_rpt <- data.frame(loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[1])], loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[2])], loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[3])], loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[4])], loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[5])], loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[6])], loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[7])], loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[8])], loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[9])], loudness_df_csv$V2[which(loudness_df_csv$V1 == df_names[10])])
names(loudnorm_rpt) <- df_names2
rownames(loudnorm_rpt) <- c('A', 'B')



Should I just wrap this in a function or is there a dcf to data.frame function that I've missed ?


-
pyav / ffmpeg / libav select number of P-frames and B-frames
27 mai 2021, par user1315621I am streaming from an rtsp source. It looks like half of the frames received are key frames. Is there a way to reduce this percentage and have an higher number of P-frames and B-frames ? If possible, I would like to increase the number of P-frames (not the one of B-frames).
I am using
pyav
which is a Python wrapper forlibav
(ffmpeg
)

Code :


container = av.open(
 url, 'r',
 options={
 'rtsp_transport': 'tcp',
 'stimeout': '5000000',
 'max_delay': '5000000',
 }
)
stream = container.streams.video[0]
codec_context = stream.codec_context
codec_context.export_mvs = True
codec_context.gop_size = 25 

for packet in self.container.demux(video=0):
 for video_frame in packet.decode():
 print(video_frame.is_key_frame)



Output :


True
False
True
False
...



Note 1 : I can't edit the source. I can just edit the code used to stream the video.


Note 2 : same solution should apply to
pyav
,libavi
andffmpeg
.

Edit : it seems that B-frames are disabled :
codec_context.has_b_frames
isFalse