Recherche avancée

Médias (91)

Autres articles (87)

  • Organiser par catégorie

    17 mai 2013, par

    Dans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
    Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
    Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Récupération d’informations sur le site maître à l’installation d’une instance

    26 novembre 2010, par

    Utilité
    Sur le site principal, une instance de mutualisation est définie par plusieurs choses : Les données dans la table spip_mutus ; Son logo ; Son auteur principal (id_admin dans la table spip_mutus correspondant à un id_auteur de la table spip_auteurs)qui sera le seul à pouvoir créer définitivement l’instance de mutualisation ;
    Il peut donc être tout à fait judicieux de vouloir récupérer certaines de ces informations afin de compléter l’installation d’une instance pour, par exemple : récupérer le (...)

Sur d’autres sites (4286)

  • Get Timecode from MP4 generated in Adobe Premiere / Encoder in Python and FFMPEG

    3 novembre 2019, par russellaugust

    I’m writing a script that needs to either convert or re-container an MP4 as an MOV with timecode.

    I have an MP4 generated from Adobe Premiere. If I bring that file back into Premiere, I have timecode. I can see it so I know it is there.

    I can’t seem to extract the timecode track from the MP4. I’ve looked everywhere online and found some discussions around it, but no actual success in extracting the timecode.

    I’ve been using ffprobe to see if there’s any mention of the timecode in the MP4, but having no luck. I’ve tried PyMediaInfo with no success.

    Here’s what ffprobe shows :

    ffprobe version 4.2.1 Copyright (c) 2007-2019 the FFmpeg developers
     built with Apple clang version 11.0.0 (clang-1100.0.33.8)
     configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.1_1 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags='-I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/adoptopenjdk-13.jdk/Contents/Home/include/darwin -fno-stack-check' --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --enable-librubberband --enable-libsnappy --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack
     libavutil      56. 31.100 / 56. 31.100
     libavcodec     58. 54.100 / 58. 54.100
     libavformat    58. 29.100 / 58. 29.100
     libavdevice    58.  8.100 / 58.  8.100
     libavfilter     7. 57.100 /  7. 57.100
     libavresample   4.  0.  0 /  4.  0.  0
     libswscale      5.  5.100 /  5.  5.100
     libswresample   3.  5.100 /  3.  5.100
     libpostproc    55.  5.100 / 55.  5.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'demo_SequenceV3.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42mp41
       creation_time   : 2019-11-01T23:34:45.000000Z
     Duration: 00:00:27.69, start: 0.000000, bitrate: 10463 kb/s
       Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 2304x1152 [SAR 1:1 DAR 2:1], 10142 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 48k tbc (default)
       Metadata:
         creation_time   : 2019-11-01T23:34:45.000000Z
         handler_name    : ?Mainconcept Video Media Handler
         encoder         : AVC Coding
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 317 kb/s (default)
       Metadata:
         creation_time   : 2019-11-01T23:34:46.000000Z
         handler_name    : #Mainconcept MP4 Sound Media Handler
    [STREAM]
    index=0
    codec_name=h264
    codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
    profile=Main
    codec_type=video
    codec_time_base=1001/48000
    codec_tag_string=avc1
    codec_tag=0x31637661
    width=2304
    height=1152
    coded_width=2304
    coded_height=1152
    has_b_frames=0
    sample_aspect_ratio=1:1
    display_aspect_ratio=2:1
    pix_fmt=yuv420p
    level=50
    color_range=tv
    color_space=bt709
    color_transfer=bt709
    color_primaries=bt709
    chroma_location=left
    field_order=unknown
    timecode=N/A
    refs=1
    is_avc=true
    nal_length_size=4
    id=N/A
    r_frame_rate=24000/1001
    avg_frame_rate=24000/1001
    time_base=1/24000
    start_pts=0
    start_time=0.000000
    duration_ts=663663
    duration=27.652625
    bit_rate=10142082
    max_bit_rate=N/A
    bits_per_raw_sample=8
    nb_frames=663
    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
    TAG:creation_time=2019-11-01T23:34:45.000000Z
    TAG:language=eng
    TAG:handler_name=Mainconcept Video Media Handler
    TAG:encoder=AVC Coding
    [/STREAM]
    [STREAM]
    index=1
    codec_name=aac
    codec_long_name=AAC (Advanced Audio Coding)
    profile=LC
    codec_type=audio
    codec_time_base=1/48000
    codec_tag_string=mp4a
    codec_tag=0x6134706d
    sample_fmt=fltp
    sample_rate=48000
    channels=2
    channel_layout=stereo
    bits_per_sample=0
    id=N/A
    r_frame_rate=0/0
    avg_frame_rate=0/0
    time_base=1/48000
    start_pts=0
    start_time=0.000000
    duration_ts=1327326
    duration=27.652625
    bit_rate=317375
    max_bit_rate=335623
    bits_per_raw_sample=N/A
    nb_frames=1298
    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
    TAG:creation_time=2019-11-01T23:34:46.000000Z
    TAG:language=eng
    TAG:handler_name=#Mainconcept MP4 Sound Media Handler
    [/STREAM]
    [FORMAT]
    filename=demo_SequenceV3.mp4
    nb_streams=2
    nb_programs=0
    format_name=mov,mp4,m4a,3gp,3g2,mj2
    format_long_name=QuickTime / MOV
    start_time=0.000000
    duration=27.690667
    size=36216937
    bit_rate=10463290
    probe_score=100
    TAG:major_brand=mp42
    TAG:minor_version=0
    TAG:compatible_brands=mp42mp41
    TAG:creation_time=2019-11-01T23:34:45.000000Z
    [/FORMAT]

    And here was what I started experimenting with in Python.

    from pymediainfo import MediaInfo

    media_info = MediaInfo.parse('demo_SequenceV3.mp4')
    for track in media_info.tracks:
       if track.bit_rate is not None:
           print ("%s: %s" % (track.track_type, track.bit_rate))
       else:
           print ("""%s tracks do not have bit rate associated with them.""" % track.track_type)

    I know I’m not using MediaInfo correctly, but I couldn’t find any documentation on timecode, and to be honest I’m pretty confident it’ll just use FFMPEG’s system of searching for a data track that doesn’t appear to exist.

    Anyone here know enough about this to either get it working or to point me in the right direction ?

    The goal is to re-wrap an MP4 as an MOV and translate the timecode so it is back where it normally is on the MOV.

    EDIT : here is an example MP4 that I need to extract the timecode from :

    https://www.dropbox.com/s/a1euiumiapkpzhn/timecode_demo.mp4?dl=0

    And as you can see in this image, the MP4 does have timecode that is being read by Premiere on the bottom left of frame. TC starts at 10:11:12:13.

    https://www.dropbox.com/s/pafqicnnsqu93rl/timecode_window_in_premiere.png

  • FFmpeg giving me failed to open segment error. Trying to parse .wav file into 30-second files

    7 novembre 2019, par Requiem_7

    Here is the command I used and the output when I try and parse the .wav file into 30-second clips :

    C:\Users\hmkur>ffmpeg -i C:\Users\hmkur\Desktop\Python\Transcribing_Audio\source\valve.wav -f segment -segment_time 30 -c copy parts/out%09d.wav
    ffmpeg version git-2019-11-05-c54268c Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 9.2.1 (GCC) 20191010
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
     libavutil      56. 35.101 / 56. 35.101
     libavcodec     58. 60.100 / 58. 60.100
     libavformat    58. 34.101 / 58. 34.101
     libavdevice    58.  9.100 / 58.  9.100
     libavfilter     7. 66.100 /  7. 66.100
     libswscale      5.  6.100 /  5.  6.100
     libswresample   3.  6.100 /  3.  6.100
     libpostproc    55.  6.100 / 55.  6.100
    [wav @ 0000023133098a00] Discarding ID3 tags because more suitable tags were found.
    Guessed Channel Layout for Input Stream #0.0 : stereo
    Input #0, wav, from 'C:\Users\hmkur\Desktop\Python\Transcribing_Audio\source\valve.wav':
     Metadata:
       title           : valve
       encoder         : Lavf58.20.100 (libsndfile-1.0.24)
     Duration: 00:06:47.20, bitrate: 1411 kb/s
       Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, s16, 1411 kb/s
    [segment @ 00000231334d18c0] Opening 'parts/out000000000.wav' for writing
    [segment @ 00000231334d18c0] Failed to open segment 'parts/out000000000.wav'
    Could not write header for output file #0 (incorrect codec parameters ?): No such file or directory
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
       Last message repeated 1 times
  • ffmpeg complex filtering : how to get around

    19 janvier 2020, par Melvin Roest

    Alright, I have my own compiled ffmpeg with --enable-lv2. This allows for 3rd-party plugins to work. The plugin I use is : https://github.com/lucianodato/speech-denoiser it’s a plugin that wraps around this RNN noise reduction library : https://github.com/GregorR/rnnoise-models

    The following commands work :

    (1) ffmpeg -i input.mov -filter_complex '[0:a]lv2=plugin=https\\://github.com/lucianodato/speech-denoiser[audio]' -map "[audio]" output.wav

    (2) ffmpeg -i input.mov -filter_complex '[0:v]copy[video]' -map "[video]" output.mov

    But when I do the combination, that doesn’t work.

    ffmpeg -i input.mov -filter_complex '[0:a]lv2=plugin=https\\://github.com/lucianodato/speech-denoiser[audio];[0:v]copy[video]' -map "[audio]" -map "[video]" output.mov

    I think the error is essentially this :

    Channel layout change is not supported
    Error while filtering: Not yet implemented in FFmpeg, patches welcome
    Failed to inject frame into filter network: Not yet implemented in FFmpeg, patches welcome
    Error while processing the decoded data for stream #0:0

    My guess : this 3rd-party filter is not configure to work with any other output stream other than audio.

    My question : can I somehow trick this 3rd-party plugin that it is outputting to an audio file, while still outputting everything to a video file ?

    Note : I know, I can simply split this up in 2 commands and be done with it, so I’m wondering if I can accomplish this via one ffmpeg command. How I would split it up in 2 commands is as follows :

    ffmpeg -i out_cropped.mov -af 'lv2=plugin=https\\://github.com/lucianodato/speech-denoiser' -vcodec copy out_cropped_denoised.wav

    &&

    ffmpeg -i out_cropped.mov -i out_cropped_denoised.wav -c:v copy -map 0:v:0 -map 1:a:0 out_cropped_denoised.mov

    But I want to be able to put it all in one complex filter (ideally) or at least in one ffmpeg command.

    Appendix : here is the full interaction

    ffmpeg -i input.mov -filter_complex '[0:a]lv2=plugin=https\\://github.com/lucianodato/speech-denoiser[audio];[0:v]copy[video]' -map "[audio]" -map "[video]" output.mov
    ffmpeg version N-95577-g68f623d644 Copyright (c) 2000-2019 the FFmpeg developers
     built with Apple clang version 11.0.0 (clang-1100.0.33.8)
     configuration: --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libopus --enable-libxvid --enable-lv2 --samples=fate-suite/
     libavutil      56. 35.101 / 56. 35.101
     libavcodec     58. 60.100 / 58. 60.100
     libavformat    58. 33.100 / 58. 33.100
     libavdevice    58.  9.100 / 58.  9.100
     libavfilter     7. 65.100 /  7. 65.100
     libswscale      5.  6.100 /  5.  6.100
     libswresample   3.  6.100 /  3.  6.100
     libpostproc    55.  6.100 / 55.  6.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mov':
     Metadata:
       major_brand     : qt
       minor_version   : 512
       compatible_brands: qt
       encoder         : Lavf58.29.100
     Duration: 00:16:19.11, start: 0.000000, bitrate: 1341 kb/s
       Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1080x960, 1262 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
       Metadata:
         handler_name    : Core Media Video
         encoder         : Lavc58.54.100 libx264
       Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 69 kb/s (default)
       Metadata:
         handler_name    : Core Media Audio
    File 'output.mov' already exists. Overwrite? [y/N] y

    #ote : I typed yes and then this came.

    Stream mapping:
     Stream #0:0 (h264) -> copy
     Stream #0:1 (aac) -> lv2
     lv2 -> Stream #0:0 (aac)
     copy -> Stream #0:1 (libx264)
    Press [q] to stop, [?] for help
    [out_0_0 @ 0x7fa6811066c0] Channel layout change is not supported
    Error while filtering: Not yet implemented in FFmpeg, patches welcome
    Failed to inject frame into filter network: Not yet implemented in FFmpeg, patches welcome
    Error while processing the decoded data for stream #0:0