
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (81)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
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 (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (11737)
-
After upgrade ffmpeg code doesn't working clip build
11 février, par TchouneI have a problem after upgrading ffmpeg from 4.2.2 to 5.2.2, my code no longer works. When I upload a video to my React-Native application I get a file corruption error on my FFmpeg python agent.
-> sends to Laravel which stores the video on the minio storage ; the video is available -> sends http to the minio key to download locally the mp4 video is corrupted on the minio too...
I have the impression that it's an error downloading the video locally that makes the video corrupt, but I have no idea how I can debug this problem.
If I upload the video directly from my web interface I don't have this problem. The only difference is processClipSynchronously which is set to True on mobile and False on web.


Laravel Agent send to python microservice :


// Store uploaded video file
 $videoFilePath = $this->storeVideoFile($learningGoal, $videoFile);

 // Add video to storyboard
 $agentResponse = Http::post($this->agentUrl . 'learning-goals/' . $learningGoal->id . '/storyboards/' . $storyboardId . '/chapters/' . $chapterId . '/videos',
 [
 'clip' => $videoFilePath,
 'processClipSynchronously' => $processClipSynchronously
 ]);



Python agent video :


@app.route('/learning-goals//storyboards//chapters//videos',
 methods=['post'])
def post_storyboard_videos(learning_goal_id, storyboard_id, chapter_id):
 storyboard = get_storyboard(learning_goal_id, storyboard_id)
 chapter, position = get_chapter(storyboard, chapter_id)

 if 'clip' in request.get_json():
 chapter['clip'] = request.get_json()['clip']
 if 'duration' in storyboard:
 del chapter['duration']
 if 'thumbnail' in storyboard:
 del chapter['thumbnail']
 if 'ncAudioPreviewPath' in chapter:
 del chapter['ncAudioPreviewPath']
 if 'trim_start' in chapter:
 del chapter['trim_start']
 if 'trim_end' in chapter:
 del chapter['trim_end']
 if 'perform_nc' in chapter:
 del chapter['perform_nc']
 else:
 abort(400)

 new_storyboard = create_new_version_storyboard(storyboard)

 if 'processClipSynchronously' in request.get_json() and request.get_json()['processClipSynchronously']:
 treat_clip(new_storyboard, chapter) #Mobile trigger here
 else:
 thread = StoppableThread(target=treat_clip, args=(new_storyboard, chapter))
 thread.daemon = True
 thread.start()

 chapter, position = get_chapter(new_storyboard, chapter_id)

 return json.loads(dumps(chapter))

def treat_clip(storyboard, chapter):
 logging.info(
 'start treating clip (' + chapter['clip'] + ') for learning goal : ' + str(storyboard['learningGoalId']))
 file = app.config['VOLUME_PATH'] + chapter['clip']
 os.makedirs(dirname(file), exist_ok=True)
 temp_files_to_remove = []

 if not os.path.exists(file):
 # Download file from S3 storage.
 s3.download_file(chapter['clip'], file)
 # Clean the file at the end (it's already in S3).
 temp_files_to_remove.append(file)
 else:
 logging.warn(f'Not downloading {chapter["clip"]} from S3 as it already exists on the filesystem')

 resolution_width, resolution_height = get_resolution(file)
 is_rotated_video = is_rotated(file)
 sample_aspect_ratio = get_sample_aspect_ratio(file)
 frame_rate = get_frame_rate(file)
 if not file.endswith(
 '.mp4') or resolution_width != 1920 or resolution_height != 1080 or is_rotated_video or sample_aspect_ratio != '1:1' or frame_rate > 60:
 chapter['clip'] = format_video(chapter['clip'], resolution_width, resolution_height, frame_rate,
 is_rotated_video, str(storyboard['learningGoalId']), 1920, 1080)
 file = app.config['VOLUME_PATH'] + chapter['clip']

 # Update file to S3 storage
 s3.upload_file(file, chapter['clip'])

 # Clean the new file at the end.
 temp_files_to_remove.append(file)

 clip = VideoFileClip(file)
 chapter['duration'] = float(clip.duration)
 thumbnail_relative_path = create_video_thumbnail(storyboard, clip, 0)
 ....



It's VideoFileClip from moviepy who generate error : Moov atom not found
I think S3 not have time to download file, and corrumpt, but I don't know how to test or fix that


thanks in advance


-
Revision 3989 : Une nouvelle action permettant de récupérer les documents d’un article ...
20 septembre 2010, par kent1 — LogUne nouvelle action permettant de récupérer les documents d’un article original On l’utilise dans l’autre action (le code est identique)
-
Anomalie #1990 (Résolu) : Bug insertion image en création d’article
2 mars 2011, par cedric -Résolu par reecriture complète du code de gestion des documents en extension medias dans la branche developpement