
Recherche avancée
Médias (2)
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
Publier une image simplement
13 avril 2011, par ,
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (29)
-
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
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 (...) -
Création définitive du canal
12 mars 2010, parLorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
A la validation, vous recevez un email vous invitant donc à créer votre canal.
Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...)
Sur d’autres sites (7449)
-
problem in making HLS using ffmpeg problem
24 juin 2023, par AMZI have a function do run in background and create m3u8 for some videos : (I is running in background and updating some fields in django).


def convert_to_hls(episode):
 # Set the output directory for HLS files
output_dir = os.path.join(settings.MEDIA_ROOT, 'hls')
os.makedirs(output_dir, exist_ok=True)

# Set the input video file path
input_file_path = episode.videoFile.path

# Set the output filename and path for the HLS playlist
# filename = os.path.splitext(os.path.basename(input_file_path))[0]
characters = string.ascii_letters + string.digits
filename = ''.join(random.choice(characters) for _ in range(45))
playlist_path = os.path.join(output_dir, f'{filename}.m3u8')

# Set the output path for the HLS segments
segments_path = os.path.join(output_dir, f'{filename}_%05d.ts')

# Construct the ffmpeg command for HLS conversion
command = [
 'ffmpeg',
 '-i', input_file_path,
 '-c:v', 'libx264',
 '-crf', '23',
 '-preset', 'medium',
 '-c:a', 'aac',
 '-b:a', '128k',
 '-f', 'hls',
 '-hls_time', '10',
 '-hls_list_size', '0',
 '-hls_segment_filename', segments_path,
 playlist_path
]
# Execute the ffmpeg command
subprocess.run(command, check=True)

episode.hls_created = True
episode.hls_url = playlist_path.replace("/home/debian/project","")
episode.save()

return True



this code works well for most of my videos but for some .mp4 files gets :


[Fri Jun 23 17:05:47.511095 2023] [wsgi:error] [pid 19975:tid 140289048565504] Exception in thread Thread-1:
[Fri Jun 23 17:05:47.511198 2023] [wsgi:error] [pid 19975:tid 140289048565504] Traceback (most recent call last):
[Fri Jun 23 17:05:47.511244 2023] [wsgi:error] [pid 19975:tid 140289048565504] File "/opt/bitnami/python/lib/python3.8/threading.py", line 932, in _bootstrap_inner
[Fri Jun 23 17:05:47.512078 2023] [wsgi:error] [pid 19975:tid 140289048565504] self.run()
[Fri Jun 23 17:05:47.512124 2023] [wsgi:error] [pid 19975:tid 140289048565504] File "/opt/bitnami/python/lib/python3.8/threading.py", line 870, in run
[Fri Jun 23 17:05:47.512707 2023] [wsgi:error] [pid 19975:tid 140289048565504] self._target(*self._args, **self._kwargs)
[Fri Jun 23 17:05:47.512748 2023] [wsgi:error] [pid 19975:tid 140289048565504] File "/home/debian/project/twapp/views/episode_backgrounds.py", line 41, in convert_to_hls
[Fri Jun 23 17:05:47.512950 2023] [wsgi:error] [pid 19975:tid 140289048565504] subprocess.run(command, check=True)
[Fri Jun 23 17:05:47.512989 2023] [wsgi:error] [pid 19975:tid 140289048565504] File "/opt/bitnami/python/lib/python3.8/subprocess.py", line 516, in run
[Fri Jun 23 17:05:47.513500 2023] [wsgi:error] [pid 19975:tid 140289048565504] raise CalledProcessError(retcode, process.args,
[Fri Jun 23 17:05:47.513657 2023] [wsgi:error] [pid 19975:tid 140289048565504] subprocess.CalledProcessError: Command '['ffmpeg', '-i', '/home/debian/project/media/videos/introduction_to_raster_qBhrnAx.mp4', '-c:v', 'libx264', '-crf', '23', '-preset', 'medium', '-c:a', 'aac', '-b:a', '128k', '-f', 'hls', '-hls_time', '10', '-hls_list_size', '0', '-hls_segment_filename', '/home/debian/project/media/hls/ZN3fsJVEfTDEc8MFb5DrP7Y34JFNLj0hfWnGRZAwFdjuG_%05d.ts', '/home/debian/project/media/hls/ZN3fsJVEfTDEc8MFb5DrP7Y34JFNLj0hfWnGRZAwFdjuG.m3u8']' returned non-zero exit status 1.



Also it does not work for .MOV files.


-
Split mixed content into sections by scan type using FFmpeg ?
7 août 2023, par VivianTrying to deinterlace and detelecine "Star Trek : Voyager" and "Star Trek : Deep Space Nine" NTSC DVD rips made using MakeMKV without changing the total number of frames. The videos are a variable frame rate combination of interlaced, telecined, and progressive frames.


I'd like to be able to convert each episode to a sequence of video clips, split by scan type, so I can then feed those individually into Selur's Hybrid for processing, then stitch them back together and feed the reconstructed video into Topaz Video AI.


Is there a way to use FFmpeg to split a video into sections by scan type, and if so, how ?


I've tried automated handling in Hybrid and HandBrake, but both created artifacts and left unfixed issues as a result of applying filters to frames that didn't need them as well as not applying filters to frames that did.


-
Use ffmpeg to match an image to source frames in video [closed]
25 mai 2024, par user22335954I'm trying to write an application to split a single video into multiple pieces based on the appearance of a specific image. (Think title cards). I have video files that may have more than one episode or content inside of a single file and I want them split anywhere I find that title card or image.


My application works by the user providing a timestamp in the format of 00:00:00 to specify the title card image which is then used like this :


ffmpeg -i FILE -qmin 1 -qscale:v 1 -vframes 00:00:00 -f image2 img.png



Now I want to compare that image (img.png) to the source video file using the following example command I've found :


ffmpeg -i FILE -loop 1 -i img.png -an -filter_complex "blend=difference:shortest=1,blackframe=90:20" -f null



I've had to play around with the blackframe=90:20 values to get what I think are correct matches, but I don't understand what these values and/or the blackframe filter is actually controlling. The blend documentation : https://ffmpeg.org/ffmpeg-filters.html#Examples-46 doesn't seem to go into much detail about what is actually happening. I do understand the difference blend means I'm essentially looking for the smallest difference, indicating a frame match to my img, but beyond that I'm sort of just guessing.


Additionally, the output shows a bunch of :


[Parsed_blackframe_1 @ 0x5c1183081880] frame:195 pblack:99 pts:6506 t:6.506000 type:B last_keyframe:135



Based on the frames I can parse those out to find the non-sequential frames and find how how many segments I expect in the video, but when I go to split them, I don't know how to translate the frame or the t value into a timestamp format of 00:00:00. Even for matches that I'm 100% sure of, the frame values don't seem to line up with what I expect. For example, from watching the video, I know that a perfect match occurs at exactly 00:01:45, but the blackframe data says the match occurs at frame 1471 or t:49.08 (the video has a framerate of 29.97). 1471 / 29.97 is indeed 49.08, but that does not correlate to the actual time of 1:45 (105 seconds). How can I convert these values into timestamps (or just show the timestamps of the frames) ?