
Recherche avancée
Autres articles (64)
-
Les statuts des instances de mutualisation
13 mars 2010, parPour des raisons de compatibilité générale du plugin de gestion de mutualisations avec les fonctions originales de SPIP, les statuts des instances sont les mêmes que pour tout autre objets (articles...), seuls leurs noms dans l’interface change quelque peu.
Les différents statuts possibles sont : prepa (demandé) qui correspond à une instance demandée par un utilisateur. Si le site a déjà été créé par le passé, il est passé en mode désactivé. publie (validé) qui correspond à une instance validée par un (...) -
Librairies et binaires spécifiques au traitement vidéo et sonore
31 janvier 2010, parLes logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
Binaires complémentaires et facultatifs flvtool2 : (...) -
Le plugin : Podcasts.
14 juillet 2010, parLe problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
Types de fichiers supportés dans les flux
Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)
Sur d’autres sites (8699)
-
How to use the actual frame numbers in filenames using ffmpeg when extracting frames ? [closed]
2 juin 2024, par Joan VengeBasically I am using ffmpeg to extract every Nth frame from a video. But the filenames appear sequentially from 1 to X. I want to use the actual frame numbers so if it's every 30th frame, then the filenames should be 0, 30, 60, etc. Is this possible ?


I am doing this in Python using this function :


def extract_and_compress_frames(directory, frame_interval=1, crop_width=192, crop_height=108, offset_x=0, offset_y=0):
 for filename in os.listdir(directory):
 if filename.endswith(".trec"):
 # Construct full file path
 trec_path = os.path.join(directory, filename)
 mp4_path = os.path.join(directory, filename.replace(".trec", ".mp4"))
 frames_dir = os.path.join(directory, filename.replace(".trec", ""))
 
 # Rename .trec to .mp4
 os.rename(trec_path, mp4_path)
 
 # Create directory for frames
 os.makedirs(frames_dir, exist_ok=True)
 
 if frame_interval == 1:
 # Calculate crop positions for bottom-right corner after scaling to 1080p
 scaled_width = 1920
 scaled_height = 1080
 crop_x = scaled_width - crop_width - offset_x
 crop_y = scaled_height - crop_height - offset_y
 
 # Extract and compress all frames using ffmpeg with quality adjustment
 ffmpeg_cmd = [
 'ffmpeg', 
 '-i', mp4_path,
 '-vf', f"fps=60,scale=1920:1080,crop={crop_width}:{crop_height}:{crop_x}:{crop_y}", 
 '-q:v', '10', # Adjust the quality, 1 (best) to 31 (worst), 2 for good quality
 os.path.join(frames_dir, '%06d.jpg') # 6 digits for padding, starting from 0
 ]
 else:
 # Use frame interval and scale to 720p
 ffmpeg_cmd = [
 'ffmpeg',
 '-reinit_filter', '0',
 '-i', mp4_path,
 '-vf', f"fps=60,scale=1920:1080,crop={crop_width}:{crop_height}:{1920-crop_width-offset_x}:{1080-crop_height-offset_y},drawtext=text='%{{n}}':start_number=1:fontcolor=white:bordercolor=black:borderw=3:fontsize=50,select='not(mod(n\\,{frame_interval}))'",
 '-fps_mode', 'vfr',
 '-q:v', '10', # Adjust the quality, 1 (best) to 31 (worst), 2 for good quality
 os.path.join(frames_dir, '%06d.jpg') # 6 digits for padding, starting from 0
 ]
 
 subprocess.run(ffmpeg_cmd)
 
 # Rename back to .trec
 os.rename(mp4_path, trec_path)
 
 print(f"Processed {filename}")



But this gives me sequential numbers, not the actual frame numbers but the frame numbers I draw over the images, they represent the actual frame numbers.


Basically ffmpeg is able to get the current frame and draw it on the image using :


drawtext=text='%{{n}}'



The question is about getting that value out to the filenames.


-
forgejo/labeler : react to 'labeled' action as well
28 août, par Timo Rothenpieler -
avcodec/hevc : Dont turn 32bit timebases into negative numbers
15 février 2014, par Michael Niedermayeravcodec/hevc : Dont turn 32bit timebases into negative numbers
Fixes assertion failure
Fixes : 499f6ecaeae8e3f79a115a72c61ffd15-asan_static-oob_124a175_2792_cov_1782273879_RPLM_A_qualcomm_4.bit
Found-by : Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by : Michael Niedermayer <michaelni@gmx.at>