
Recherche avancée
Autres articles (46)
-
La file d’attente de SPIPmotion
28 novembre 2010, parUne file d’attente stockée dans la base de donnée
Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...) -
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" (...)
Sur d’autres sites (5264)
-
ffmpeg produces extra frames after halving the framerate
22 septembre 2022, par KorfooI have a question about halving the framerate of a video using ffmpeg.
I have an input video with a framerate of 50fps and 6410 frames, ffprobe output :


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : M4V 
 minor_version : 1
 compatible_brands: isomavc1mp42
 creation_time : 2022-06-24T14:27:43.000000Z
 Duration: 00:02:08.20, start: 0.000000, bitrate: 12595 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 12202 kb/s, 50 fps, 50 tbr, 50k tbn, 100 tbc (default)
 Metadata:
 creation_time : 2022-06-24T14:27:43.000000Z
 handler_name : ETI ISO Video Media Handler
 vendor_id : [0][0][0][0]
 encoder : Elemental H.264
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 384 kb/s (default)
 Metadata:
 creation_time : 2022-06-24T14:27:43.000000Z
 handler_name : ETI ISO Audio Media Handler
 vendor_id : [0][0][0][0]



I want to change this to 25fps using the following ffmpeg command :


ffmpeg -i input.mp4 -filter:v fps=25 25fps.mp4 



One would expect the amount of frames in the output to be half the frames of the input file, 3205. But this transcode results in 3206 frames.


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '25fps.mp4':
 Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf58.76.100
 Duration: 00:02:08.24, start: 0.000000, bitrate: 3053 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 2917 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
 Metadata:
 handler_name : ETI ISO Video Media Handler
 vendor_id : [0][0][0][0]
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 129 kb/s (default)
 Metadata:
 handler_name : ETI ISO Audio Media Handler
 vendor_id : [0][0][0][0]



How does this happen and why is there a frame extra ?


-
HIK IP cameras changes chunks length while switching from day to night mode
22 septembre 2022, par Klaus-Peter EckertWe are using ffmpeg to create a video playlist consisting of 2 sec chunks send by a HIKVISION DS-2CD2143G0-I IP camera. When the camera switches from day mode to night mode the length of the chunks changes from 2 to 4 sec. When the camera switches back to day mode the chunks again have a length of 2 sec.
This is an excerpt of a playlist :


chunk-stream0-17750.m4s
#EXTINF:2.000000,
#EXT-X-PROGRAM-DATE-TIME:2022-09-19T22:26:59.418+0200
chunk-stream0-17751.m4s
#EXTINF:2.793047,
#EXT-X-PROGRAM-DATE-TIME:2022-09-19T22:27:01.418+0200
chunk-stream0-17752.m4s
#EXTINF:3.998984,
#EXT-X-PROGRAM-DATE-TIME:2022-09-19T22:27:04.211+0200
chunk-stream0-17753.m4s
#EXTINF:3.998984,
#EXT-X-PROGRAM-DATE-TIME:2022-09-19T22:27:08.210+0200
chunk-stream0-17754.m4s



This is the call of ffmpeg (with APP_RECORDING_SEG_DUR = 2) :


window_size = int(Settings.APP_RECORDING_PRE_DUR / Settings.APP_RECORDING_SEG_DUR)
# Command to start ffmpeg dash muxer
cmd = ''
cmd += f'ffmpeg -loglevel fatal -stimeout 1000000 -rtsp_transport tcp -i "{rtsp_url}" '
cmd += f'-map 0:0 -c:v:0 copy -movflags frag_keyframe+empty_moov -an -f dash -use_template 1 '
cmd += f'-use_timeline 0 -index_correction 0 -seg_duration {Settings.APP_RECORDING_SEG_DUR} '
cmd += f'-hls_playlist 1 -dash_segment_type mp4 -streaming 1 -remove_at_exit 1 '
cmd += f'-window_size {window_size} -extra_window_size {20 / Settings.APP_RECORDING_SEG_DUR} '
 cmd += f'{(self._target_path / playlist).as_posix()}'



Has anybody observed a similar behaviour and knows how to stop the camera from changing the size of the video chunks ?


-
Reading subtitle metadata from mpeg files using ffprobe
26 septembre 2022, par Kaydee DunlopI'm using ffmpeg or to be more specific ffprobe which is part of the ffmpeg toolstack to read subtitle information from a mpeg file. Anyway, I'm facing an issue I currently don't fully understand. If I use the following command :


ffprobe -of json -show_streams -show_format



I get back something like this :


{
 "index": 6,
 "codec_name": "mov_text",
 "codec_long_name": "MOV text",
 "codec_type": "subtitle",
 "codec_tag_string": "tx3g",
 "codec_tag": "0x67337874",
 "width": 3840,
 "height": 240,
 "id": "0x6",
 "r_frame_rate": "0/0",
 "avg_frame_rate": "0/0",
 "time_base": "1/1000",
 "start_pts": 0,
 "start_time": "0.000000",
 "duration_ts": 6706616,
 "duration": "6706.616000",
 "bit_rate": "95",
 "nb_frames": "4028",
 "extradata_size": 48,
 "disposition": {
 "default": 0,
 "dub": 0,
 "original": 0,
 "comment": 0,
 "lyrics": 0,
 "karaoke": 0,
 "forced": 0,
 "hearing_impaired": 0,
 "visual_impaired": 0,
 "clean_effects": 0,
 "attached_pic": 0,
 "timed_thumbnails": 0,
 "captions": 0,
 "descriptions": 0,
 "metadata": 0,
 "dependent": 0,
 "still_image": 0
 },
 "tags": {
 "creation_time": "2022-09-11T01:02:33.000000Z",
 "language": "eng"
 }
 },



you can see, I have several options that can be set for the disposition section, I'm especially interested in "forced" and "hearing_impaired". To set the value for these options I'm trying to use a tool called "Subler" which is a tool to metarise mpeg files and their containing tracks. But for some reason, ffprobe does not seem to match with the fields Subler sets... So I'm kind stuck as I'm never really able to find out if a subtitle track is forced, hearing_impaired (SDH) etc. Is there any kind of workaround for this problem, maybe an extra option I have to set with ffprobe or so ? Is there maybe an alternative tool that can ?


If you are more interested into this issue I also uploaded a test scenario which has forced subtitles, normal subtitles and SDH subtitles properly set, it also contains screenshots and the raw SRT files, which are basically not needed as the subs are already embedded into the mp4 file, but just in case I also attached them.


https://drive.google.com/file/d/1ZZ32i17A33Lhpn4a5BDg033yV9PbZhtS/view?usp=sharing