Recherche avancée

Médias (1)

Mot : - Tags -/publishing

Autres articles (107)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-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

  • 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 (13557)

  • How can I stream very long H.264 videos over HTTP without long startup times ? (or : MOOV atom too large)

    5 octobre 2012, par michael

    I want to stream videos of public meetings that are often 10 hours long. Users will generally be starting at some point in the middle of the video and jumping around frequently.

    H.264 in an MP4 container seems like the current best option for encoding streaming video (right ?). But these are large files — about 1.3GB for one file — and the metadata (MOOV atom) at the beginning of the file is itself about 40MB. If I understand correctly, clients need to download the full metadata before they're able to seek within the remainder of the file. Obviously, having to download 40MB before you can start streaming is unacceptable.

    (My tests of streaming have been with VLC and the HTML5 tag in Chrome.)

    I'm encoding the file using avconv, and am currently providing no additional settings beyond telling it which encoders to use (x264 and libfaac). I then move the metadata to the beginning of the file using qt-faststart.

    Is there a way to make the MOOV atom smaller ?

    If not, are there other strategies to use (e.g. is splitting long videos into several files something that's frequently done ? it seems like a real pain in terms of users seeking around the whole day's video) ?

    Or should I be using a different codec or container ?

    thanks !

    Here's a breakdown of the file header structure, from AtomicParsley :

    Atom ftyp @ 0 of size: 32, ends @ 32
    Atom moov @ 32 of size: 40157673, ends @ 40157705
        Atom mvhd @ 40 of size: 108, ends @ 148
        Atom iods @ 148 of size: 24, ends @ 172
        Atom trak @ 172 of size: 20156304, ends @ 20156476
            Atom tkhd @ 180 of size: 92, ends @ 272
            Atom edts @ 272 of size: 36, ends @ 308
                Atom elst @ 280 of size: 28, ends @ 308
            Atom mdia @ 308 of size: 20156168, ends @ 20156476
                Atom mdhd @ 316 of size: 32, ends @ 348
                Atom hdlr @ 348 of size: 45, ends @ 393
                Atom minf @ 393 of size: 20156083, ends @ 20156476
                    Atom vmhd @ 401 of size: 20, ends @ 421
                    Atom dinf @ 421 of size: 36, ends @ 457
                        Atom dref @ 429 of size: 28, ends @ 457
                    Atom stbl @ 457 of size: 20156019, ends @ 20156476
                        Atom stsd @ 465 of size: 147, ends @ 612
                            Atom avc1 @ 481 of size: 131, ends @ 612
                                Atom avcC @ 567 of size: 45, ends @ 612
                        Atom stts @ 612 of size: 6115608, ends @ 6116220
                        Atom stss @ 6116220 of size: 16960, ends @ 6133180
                        Atom ctts @ 6133180 of size: 5683824, ends @ 11817004
                        Atom stsc @ 11817004 of size: 28, ends @ 11817032
                        Atom stsz @ 11817032 of size: 4169724, ends @ 15986756
                        Atom stco @ 15986756 of size: 4169720, ends @ 20156476
        Atom trak @ 20156476 of size: 20001133, ends @ 40157609
            Atom tkhd @ 20156484 of size: 92, ends @ 20156576
            Atom mdia @ 20156576 of size: 20001033, ends @ 40157609
                Atom mdhd @ 20156584 of size: 32, ends @ 20156616
                Atom hdlr @ 20156616 of size: 45, ends @ 20156661
                Atom minf @ 20156661 of size: 20000948, ends @ 40157609
                    Atom smhd @ 20156669 of size: 16, ends @ 20156685
                    Atom dinf @ 20156685 of size: 36, ends @ 20156721
                        Atom dref @ 20156693 of size: 28, ends @ 20156721
                    Atom stbl @ 20156721 of size: 20000888, ends @ 40157609
                        Atom stsd @ 20156729 of size: 96, ends @ 20156825
                            Atom mp4a @ 20156745 of size: 80, ends @ 20156825
                                Atom esds @ 20156781 of size: 44, ends @ 20156825
                        Atom stts @ 20156825 of size: 9348168, ends @ 29504993
                        Atom stsc @ 29504993 of size: 28, ends @ 29505021
                        Atom stsz @ 29505021 of size: 5326296, ends @ 34831317
                        Atom stco @ 34831317 of size: 5326292, ends @ 40157609
        Atom udta @ 40157609 of size: 96, ends @ 40157705
            Atom meta @ 40157617 of size: 88, ends @ 40157705
                Atom hdlr @ 40157629 of size: 33, ends @ 40157662
                Atom ilst @ 40157662 of size: 43, ends @ 40157705
                    Atom ©too @ 40157670 of size: 35, ends @ 40157705
                        Atom data @ 40157678 of size: 27, ends @ 40157705
    Atom free @ 40157705 of size: 8, ends @ 40157713
    Atom mdat @ 40157713 of size: 1320096566, ends @ 1360254279
  • Error with LocalAudioFile(file) returns OSError : [Errno 2] No such file or directory

    5 mars 2016, par beriukay

    Much like the question here http://developer.echonest.com/forums/thread/3843#reply, I am having the following error :

    File
    "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line
    944, in init
    sampleRate=sampleRate, numChannels=numChannels) File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line
    403, in init
    self.load() File "/usr/local/lib/python2.7/dist-packages/echonest/remix/audio.py", line
    421, in load
    numChannels=self.numChannels, sampleRate=self.sampleRate, verbose=self.verbose) File
    "/usr/local/lib/python2.7/dist-packages/echonest/remix/support/ffmpeg.py",
    line 91, in ffmpeg
    close_fds=(not win) File "/usr/lib/python2.7/subprocess.py", line 710, in init
    errread, errwrite) File "/usr/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception OSError : [Errno 2] No such file or directory

    I checked input and output file permissions, made sure that both files and all related file paths existed, and that I have all the relevant python tools installed. The first clue is that Subprocess.py is having trouble. Looking at ffmpeg.py on line 88, I started playing around with the Popen function call to see how and why it was misbehaving.

    Solution :

    After messing around with the ffmpeg.py file, I piped the input to the shell (shell=True instead of shell=False), which raised the following error :

    check raise Run timeError(ffmpeg_install_instructions) RuntimeError: en-ffmpeg not found! Please make sure ffmpeg is installed and create a link as follows: sudo ln -s which ffmpeg /usr/local/bin/en-ffmpeg Alternatively, import echonest.remix.support.ffmpeg and modify ffmpeg.FFMPEG to name the appropriate binary.

    So, to finalize the solution, you need to get the binary from https://ffmpeg.org/download.html#build-linux, which in Ubuntu 14.04 means you just need to :

    sudo add-apt-repository ppa:mc3man/trusty-media
    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get install ffmpeg
    sudo ln -s `which ffmpeg` /usr/local/bin/en-ffmpeg

    That should clear this problem right up.

  • Google Speech API returns empty result for some FLAC files, and not for the others although they have same codec and sample rate

    15 mars 2021, par Chad

    Below code is what I used to make request for transcription.

    


    import io
from google.cloud import speech_v1p1beta1 as speech
def transcribe_file(speech_file):
    """Transcribe the given audio file."""

    client = speech.SpeechClient()

    encoding = speech.RecognitionConfig.AudioEncoding.FLAC
    if os.path.splitext(speech_file)[1] == ".wav":
        encoding = speech.RecognitionConfig.AudioEncoding.LINEAR16
    with io.open(speech_file, "rb") as audio_file:
        content = audio_file.read()

    audio = speech.RecognitionAudio(content=content)
    config = speech.RecognitionConfig(
        encoding=speech.RecognitionConfig.AudioEncoding.FLAC,
        sample_rate_hertz=32000,
        language_code="ja-JP",
        max_alternatives=3,
        enable_word_time_offsets=True,
        enable_automatic_punctuation=True,
        enable_word_confidence=True,
    )

    response = client.recognize(config=config, audio=audio)
    #print(speech_file, "Recognition Done")
    return response


    


    As I wrote in title, the results of response has empty list for some files, and not for some files.
They have same sample rate and codec(32000, FLAC)

    


    Below is the result of ffprobe -i "AUDIOFILE" -show_streams for one of each cases.

    


    Left one is empty one. The only difference is duration of file.

    


    How can I get non empty results ?

    


    Result of ffprobe

    


    Edit :

    


    Result of ffprobe show stream show format

    


    Something not captured in one screen

    


    Sadly, re-mux didn't work.

    


    I used ffmpeg-git-20210225

    


    ffbrobe result of broken one

    


    ./ffprobe -show_streams -show_format broken.flac 
ffprobe version N-56320-ge937457b7b-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      56. 66.100 / 56. 66.100
  libavcodec     58.125.101 / 58.125.101
  libavformat    58. 68.100 / 58. 68.100
  libavdevice    58. 12.100 / 58. 12.100
  libavfilter     7.107.100 /  7.107.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, flac, from 'broken.flac':
  Metadata:
    encoder         : Lavf58.45.100
  Duration: 00:00:00.90, start: 0.000000, bitrate: 342 kb/s
  Stream #0:0: Audio: flac, 32000 Hz, mono, s16
[STREAM]
index=0
codec_name=flac
codec_long_name=FLAC (Free Lossless Audio Codec)
profile=unknown
codec_type=audio
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=s16
sample_rate=32000
channels=1
channel_layout=mono
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/32000
start_pts=0
start_time=0.000000
duration_ts=28672
duration=0.896000
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=16
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
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
[/STREAM]
[FORMAT]
filename=broken.flac
nb_streams=1
nb_programs=0
format_name=flac
format_long_name=raw FLAC
start_time=0.000000
duration=0.896000
size=38362
bit_rate=342517
probe_score=100
TAG:encoder=Lavf58.45.100
[/FORMAT]


    


    ffprobe result of non_broken one

    


    ./ffprobe -show_streams -show_format non_broken.flac 
ffprobe version N-56320-ge937457b7b-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2007-2021 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      56. 66.100 / 56. 66.100
  libavcodec     58.125.101 / 58.125.101
  libavformat    58. 68.100 / 58. 68.100
  libavdevice    58. 12.100 / 58. 12.100
  libavfilter     7.107.100 /  7.107.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, flac, from 'non_broken.flac':
  Metadata:
    encoder         : Lavf58.45.100
  Duration: 00:00:00.86, start: 0.000000, bitrate: 358 kb/s
  Stream #0:0: Audio: flac, 32000 Hz, mono, s16
[STREAM]
index=0
codec_name=flac
codec_long_name=FLAC (Free Lossless Audio Codec)
profile=unknown
codec_type=audio
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=s16
sample_rate=32000
channels=1
channel_layout=mono
bits_per_sample=0
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/32000
start_pts=0
start_time=0.000000
duration_ts=27648
duration=0.864000
bit_rate=N/A
max_bit_rate=N/A
bits_per_raw_sample=16
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
DISPOSITION:default=0
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
[/STREAM]
[FORMAT]
filename=non_broken.flac
nb_streams=1
nb_programs=0
format_name=flac
format_long_name=raw FLAC
start_time=0.000000
duration=0.864000
size=38701
bit_rate=358342
probe_score=100
TAG:encoder=Lavf58.45.100
[/FORMAT]


    


    And the result of ffmpeg -f lavfi -i sine=d=0.864:r=32000 output.flac

    


    ffmpeg version 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, lavfi, from 'sine=d=0.864:r=32000':
  Duration: N/A, start: 0.000000, bitrate: 512 kb/s
    Stream #0:0: Audio: pcm_s16le, 32000 Hz, mono, s16, 512 kb/s
File 'output.flac' already exists. Overwrite ? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> flac (native))
Press [q] to stop, [?] for help
Output #0, flac, to 'output.flac':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Audio: flac, 32000 Hz, mono, s16, 128 kb/s
    Metadata:
      encoder         : Lavc57.107.100 flac
[Parsed_sine_0 @ 0x55c317ddda00] EOF timestamp not reliable
size=      16kB time=00:00:00.86 bitrate= 154.0kbits/s speed= 205x    
video:0kB audio:8kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 99.364586%