Recherche avancée

Médias (91)

Autres articles (106)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP 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 (...)

Sur d’autres sites (15883)

  • Can't import to Unity video clip rendered using FFmpeg for Unity

    29 juin 2023, par Maximiliano Bezmalinovic

    I am using FFmpeg to render a video in Unity. For the FFmpegCaptureCommand.OutputOptions I'm using this command :

    


    -g 24 -c:v h264 -preset medium -crf 32 -pix_fmt yuv420p -color_primaries bt709 -color_trc bt709 -colorspace bt709 -color_range pc -f mov -movflags frag_keyframe+empty_moov -vf setpts=2*PTS


    


    The video output plays fine on windows media player or VLC but when I try to import the clip into Unity I get the following error :

    


    WindowsVideoMedia error 0xc00d36e6 while reading C:/.../d.mov

Context: Getting duration.
Error details: The requested attribute was not found.
Track types:
   Video Track [1024 x 1024], type: H264


    


    I can create a working copy of the video with this command :

    


    ffmpeg -i input.mov output.mov


    


    I assume ffmpeg creates a new container for the video when it copies it but I can't figure out why is not doing it in the first place.

    


    Using ffprobe

    


    ffprobe -show_streams -select_streams v C:\...\d.mov   


    


    I get this info on the original video :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\...\d.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf59.4.101
  Duration: 00:00:02.97, start: 0.066667, bitrate: 2471 kb/s
  Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1024x1024, 2465 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : FFMP
      encoder         : Lavc59.4.100 libx264
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=High
codec_type=video
codec_tag_string=avc1
codec_tag=0x31637661
width=1024
height=1024
coded_width=1024
coded_height=1024
closed_captions=0
has_b_frames=2
sample_aspect_ratio=N/A
display_aspect_ratio=N/A
pix_fmt=yuvj420p
level=32
color_range=pc
color_space=bt709
color_transfer=bt709
color_primaries=bt709
chroma_location=left
field_order=unknown
refs=1
is_avc=true
nal_length_size=4
id=N/A
r_frame_rate=30/1
avg_frame_rate=30/1
time_base=1/15360
start_pts=1024
start_time=0.066667
duration_ts=45568
duration=2.966667
bit_rate=2465649
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
DISPOSITION:captions=0
DISPOSITION:descriptions=0
DISPOSITION:metadata=0
DISPOSITION:dependent=0
DISPOSITION:still_image=0
TAG:handler_name=VideoHandler
TAG:vendor_id=FFMP
TAG:encoder=Lavc59.4.100 libx264
[/STREAM]


    


    and this on the copied video :

    


    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\...\d1.mov':
  Metadata:
    major_brand     : qt
    minor_version   : 512
    compatible_brands: qt
    encoder         : Lavf59.4.101
  Duration: 00:00:02.97, start: 0.000000, bitrate: 2869 kb/s
  Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1024x1024, 2865 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
    Metadata:
      handler_name    : VideoHandler
      vendor_id       : FFMP
      encoder         : Lavc59.4.100 libx264
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=High
codec_type=video
codec_tag_string=avc1
codec_tag=0x31637661
width=1024
height=1024
coded_width=1024
coded_height=1024
closed_captions=0
has_b_frames=2
sample_aspect_ratio=N/A
display_aspect_ratio=N/A
pix_fmt=yuvj420p
level=32
color_range=pc
color_space=bt709
color_transfer=bt709
color_primaries=bt709
chroma_location=left
field_order=unknown
refs=1
is_avc=true
nal_length_size=4
id=N/A
r_frame_rate=30/1
avg_frame_rate=30/1
time_base=1/15360
start_pts=0
start_time=0.000000
duration_ts=45568
duration=2.966667
bit_rate=2865152
max_bit_rate=N/A
bits_per_raw_sample=8
nb_frames=89
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=1
DISPOSITION:dub=0
DISPOSITION:original=0
DISPOSITION:comment=0
DISPOSITION:lyrics=0
DISPOSITION:karaoke=0
DISPOSITION:forced=0
DISPOSITION:hearing_impaired=0
DISPOSITION:visual_impaired=0
DISPOSITION:clean_effects=0
DISPOSITION:attached_pic=0
DISPOSITION:timed_thumbnails=0
DISPOSITION:captions=0
DISPOSITION:descriptions=0
DISPOSITION:metadata=0
DISPOSITION:dependent=0
DISPOSITION:still_image=0
TAG:handler_name=VideoHandler
TAG:vendor_id=FFMP
TAG:encoder=Lavc59.4.100 libx264
[/STREAM]


    


    I noticed the start_time is 0.000000 on the copied video but the original is 0.066667, I wonder if that has anything to do with it.

    


    If I look at the video properties/details the "Length" attribute is missing on the original video but exists in the copy. Does Unity need that info maybe ?

    


    What am I missing here ? How could I make my original command output a video with the proper data that Unity needs for importing it ?.

    


    Thanks in advance.

    


  • avformat/oggparsetheora : clip duration within 64bit

    1er mai 2023, par Michael Niedermayer
    avformat/oggparsetheora : clip duration within 64bit
    

    Fixes : signed integer overflow : 9079256848778919936 - -288230376151711746 cannot be represented in type 'long'
    Fixes : 58248/clusterfuzz-testcase-minimized-ffmpeg_dem_OGG_fuzzer-6326851353313280

    Found-by : continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] libavformat/oggparsetheora.c
  • Combine two videos in python and get frame-precision duration of the end of the first clip within the new combined clip

    30 mai 2023, par johnklawlor

    I am trying to combine two videos (mov files) in Python and get the frame-precision duration of the end of the first clip within the new, combined clip so that I can skip to the end of the first clip/start of the second clip within the newly combined clip.

    &#xA;

    Here is how I combine the two videos.

    &#xA;

    def concatenate_videos(video1_path, video2_path, output_path):&#xA;    input1 = ffmpeg.input(video1_path)&#xA;    input2 = ffmpeg.input(video2_path)&#xA;&#xA;    vid = &#x27;/Users/johnlawlor/projects/yesand/backend/media/videos/vid.mp4&#x27;&#xA;    aud = &#x27;/Users/johnlawlor/projects/yesand/backend/media/videos/aud.mp3&#x27;&#xA;    ffmpeg.concat(input1, input2, n=2, v=1, a=0).output(vid).run()&#xA;    ffmpeg.concat(input1, input2, n=2, v=0, a=1).output(aud).run()&#xA;&#xA;    input1 = ffmpeg.input(vid)&#xA;    input2 = ffmpeg.input(aud)&#xA;    ffmpeg.concat(input1, input2, n=2, v=1, a=1).output(output_path).run()&#xA;

    &#xA;

    Then I get the duration of the first clip.

    &#xA;

    def _get_duration(local_file_path):&#xA;    new_addition_metadata = ffmpeg.probe(local_file_path)&#xA;    duration = float(new_addition_metadata[&#x27;streams&#x27;][0][&#x27;duration&#x27;])&#xA;    return duration&#xA;

    &#xA;

    However, when I skip to the time that is returned by this logic, it skips to a few frames before the actual start of the second clip, so I get a jerky effect that seems like a bug.

    &#xA;

    I am currently using ffmpeg-python. I am open to any other Python libraries.

    &#xA;

    Any ideas ?

    &#xA;

    Thanks !

    &#xA;