
Recherche avancée
Médias (1)
-
The pirate bay depuis la Belgique
1er avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (76)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...) -
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)
Sur d’autres sites (8727)
-
When using the exiftool `-v` command, Rotation property is misisng
4 juin 2023, par SShahI am still not certain if this is the right place to ask, I am currently attempting to backup 60gb+ size videos on my phone to pc, but while doing so I am also trying to leverage FFMPEG and/or exiftool to convert the files to HVEC format (for reduced file size) and to ensure all relevant metadata is copied over from the source file to the converted file.


My question to be specific is related to exiftool in particular where I noticed a discrepancy and was wondering if someone can assist me :


I am currently converting the video files using the following ffmpeg command :


ffmpeg -hwaccel qsv -i "VID_20220629_201116.mp4" -crf 27 -movflags use_metadata_tags -c copy -c:v hevc_qsv -global_quality 25 -vf scale_qsv=1920:1080 -c:a copy -preset slow "VID_20220629_201116_h265 (2).mp4"


This does convert the file to H265 but the final file only copies over some datestamps and misses to add/update additional related tags (such as gps) that my phone has added to the source file. But more annoyingly its not detecting the orientation of the source video (which is in portrait) and producing an output in landscape.


I have then written the following python script where I use the the PyExifTool module to try and update the file with any missing tags from the original file.


import exiftool
from pprint import pprint
import json
from datetime import datetime

video = exiftool.ExifTool()

# Get the path to the file
source_file_path = r"\VID_20220629_201116.mp4"
destination_file_path = r"\VID_20220629_201116_h265 (2).mp4"

print(f"Source File Path: {source_file_path}")
print(f"Destination File Path: {destination_file_path}\n")

with exiftool.ExifToolHelper() as et:
 source_file_metadata: list = et.get_tags(source_file_path, "All")[0] 
 destination_file_metadata: list = et.get_tags(destination_file_path, "All")[0]
 
 keys_to_check = [];
 source_file_tag_names = source_file_metadata.keys()
 destination_file_tag_names = destination_file_metadata.keys()
 tags_to_update = {}
 
 with open("source.json", "w") as f:
 f.write(json.dumps(source_file_metadata, indent=4, sort_keys=True))
 # pprint(source_file_metadata, f)
 
 with open("destination.json", "w") as f:
 f.write(json.dumps(destination_file_metadata, indent=4, sort_keys=True))
 # pprint(destination_file_metadata, f)
 
 for tag in source_file_tag_names:
 if tag not in destination_file_tag_names or "date" in tag.lower():
 keys_to_check.append(tag)
 
 if tag in destination_file_metadata: 
 if destination_file_metadata[tag] == source_file_metadata[tag]:
 continue
 
 tags_to_update[tag] = source_file_metadata[tag]

 pprint(f"Tags to Update: {tags_to_update}")
 
 if tags_to_update:
 print(et.set_tags(destination_file_path, tags_to_update))



This script compares the destination file, with the source file and updates the destination file with any tags that belong in the source file, but not in the destintation file.


In regards to the orientation issue I have, I noticed that if I manually run the following command in the command line :


exiftool "source_file_name.mp4"


Then in the output it generates, it displays the property Rotation as follows :


Rotation : 90


However, this does'nt seem to be captured from my script and therefore I can not see it in the destination file after I run my script. I also suspect this property will help fix my orientation issue that I am currently facing with ffmpeg.


So after looking deeper into exiftool I found that I can add
-v
to the comamand to display output as variable names :
exiftool -v "source_file_name.mp4"


After running the above command, from the output I see no variable called or associated to attribute Rotation, and this is why I believe my script is unable to apply to the destination file either.


Sorry I understand my description is long, and I appreciate you taking the time to review it, please let me know if there is a way I can map this Rotation value, and/or if you think there is a much better solution for me to map all the metatags from the source file to the converted destination file.


Thank you.


-
avcodec : add prores_metadata bsf for set the color property of each prores frame
28 octobre 2018, par Martin Vignali -
lavc/codec_desc : add a property for codecs that support field coding
5 mai 2023, par Anton Khirnovlavc/codec_desc : add a property for codecs that support field coding
Multiple places currently use AVCodecContext.ticks_per_frame > 1 to
identify such codecs, which
* requires a codec context
* requires it to be open