Recherche avancée

Médias (1)

Mot : - Tags -/wave

Autres articles (45)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

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

  • Les images

    15 mai 2013

Sur d’autres sites (4714)

  • Extracting metadata from incomplete video files

    17 juillet 2013, par npgall

    Can anyone tell me where metadata is stored in common video file formats ? And if it would be located towards the start of the file, or scattered throughout.

    I'm working with a remote object store containing a lot of video files and I want to extract metadata, in particular video duration and video dimensions from those files, without streaming the entire file contents to the local machine.

    I'm hoping that this metadata will be stored in the first X bytes of files, and so I can just fetch a byte range starting at the beginning instead of the whole file, passing this partial file data to ffprobe.

    For testing purposes I created a 22MB MP4 file, and used the following command to supply only the first 1MB of data to ffprobe :

    head -c1024K '2013-07-04 12.20.07.mp4' | ffprobe -

    It prints :

    avprobe version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2007-2013 the Libav developers
     built on Apr  2 2013 17:02:36 with gcc 4.6.3
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x1a6b7a0] stream 0, offset 0x10beab: partial file
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:':
     Metadata:
       major_brand     : isom
       minor_version   : 0
       compatible_brands: isom3gp4
       creation_time   : 1947-07-04 11:20:07
     Duration: 00:00:09.84, start: 0.000000, bitrate: N/A
       Stream #0.0(eng): Video: h264 (High), yuv420p, 1920x1080, 20028 kb/s, PAR 65536:65536 DAR 16:9, 29.99 fps, 30 tbr, 90k tbn, 180k tbc
       Metadata:
         creation_time   : 1947-07-04 11:20:07
       Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16, 189 kb/s
       Metadata:
         creation_time   : 1947-07-04 11:20:07

    So I see the first 1MB was enough to extract video duration 9.84 seconds and video dimensions 1920x1080, even though ffprobe printed the warning about detecting a partial file. If I supply less than 1MB, it fails completely.

    Would this approach work for other common video file formats to reliably extract metadata, or do any common formats scatter metadata throughout the file ?

    I'm aware of the concept of container formats and that various codecs may be used represent the audio/video data inside those containers. I'm not familiar with the details though. So I guess the question may apply to common combinations of containers + codecs ? Thanks in advance.

  • Merge video files using Concat filter in FFmpeg

    8 juillet 2013, par vijay

    I am using FFmpeg to concat video files of different codecs in my android application.
    I read the FFmpeg documentation and tried the following things.

    1. ffmpeg -i "concat:input1.mpg|input2.mpg" -c copy output.mp4 (works only for mpg files)

    2. ffmpeg -i 1.mp4 -c copy -bsf dump_extra 1.ts
      ffmpeg -i 2.mp4 -c copy -bsf dump_extra 2.ts
      ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4 (works for mp4 files)

    I tried both the methods for 3gp files but it throws an error in stream filters.The second method stores the .ts files in device that should not be done and also i lost the quality of the video.

    When i googled it out i found that FFmpeg provides a way to concat files with different codecs.So i tried the following command to this in a single step without storing files in device.

    fmpeg -i 1.mp4 -i 2.3gp -i 3.mpg -filter_complex '[0:0] [0:1] [1:0] [1:1]
    [2:0] [2:1] concat=n=3:v=1:a=1 [a] [v] ' -map '[a]' -map '[v]' -c copy output.mp4

    It throws the following exception :

    ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
     built on Jun 25 2013 20:34:51 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
     configuration:
     libavutil      52. 18.100 / 52. 18.100
     libavcodec     54. 92.100 / 54. 92.100
     libavformat    54. 63.104 / 54. 63.104
     libavdevice    54.  3.103 / 54.  3.103
     libavfilter     3. 42.103 /  3. 42.103
     libswscale      2.  2.100 /  2.  2.100
     libswresample   0. 17.102 /  0. 17.102
    F.mp4: No such file or directory
    tsk@tsk:~/Android/Backups/android-ffmpeg-x264/Project/jni$ ffmpeg -i 1.mp4 -i 2.mp4 -filter_complex '[0:1] [0:0] [1:1] [1:0] concat=n=2:v=1:a=1 [v] [a]' -map '[v]' -map '[a]' output.mp4
    ffmpeg version 1.2.1 Copyright (c) 2000-2013 the FFmpeg developers
     built on Jun 25 2013 20:34:51 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
     configuration:
     libavutil      52. 18.100 / 52. 18.100
     libavcodec     54. 92.100 / 54. 92.100
     libavformat    54. 63.104 / 54. 63.104
     libavdevice    54.  3.103 / 54.  3.103
     libavfilter     3. 42.103 /  3. 42.103
     libswscale      2.  2.100 /  2.  2.100
     libswresample   0. 17.102 /  0. 17.102
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: mp41
       creation_time   : 1970-01-01 00:00:00
     Duration: 00:00:04.04, start: 0.000000, bitrate: 1457 kb/s
       Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 1454 kb/s, SAR 349:320 DAR 349:240, 25 fps, 25 tbr, 25 tbn, 25 tbc
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : VideoHandler
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '2.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: mp41
       creation_time   : 1970-01-01 00:00:00
     Duration: 00:00:04.04, start: 0.000000, bitrate: 1498 kb/s
       Stream #1:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 640x480 [SAR 1:1 DAR 4:3], 1495 kb/s, SAR 349:320 DAR 349:240, 25 fps, 25 tbr, 25 tbn, 25 tbc
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : VideoHandler
    Stream specifier ':1' in filtergraph description [0:1] [0:0] [1:1] [1:0] concat=n=2:v=1:a=1 [v] [a] matches no streams.

    I googled out but found no solution yet.

    Any help is appreciated.

  • FFmpeg encoding fails with codec - but works without

    7 juillet 2013, par Niels

    I have made an install with ffmpeginstaller..

    This is the version installed:

    ffmpeg version N-54523-ga71832f-syslint
    built on Jul  7 2013 12:16:34 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
    configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl    --enable-pthread              s --enable-libopencore-amrnb --enable-decoder=liba52 --enable-  libopencore-amrwb --enable-libfaac --enable-              libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/l              ocal/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-version3 --extra-version=syslint
    libavutil      52. 38.100 / 52. 38.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 11.101 / 55. 11.101
    libavdevice    55.  2.100 / 55.  2.100
    libavfilter     3. 78.103 /  3. 78.103
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    libpostproc    52.  3.100 / 52.  3.100

    This works :

    ffmpeg -i FreeScreenVideoRecorderVideo.avi -ar 22050 -ab 32 -f mp4 -s 1280x720 video3.mp4

    Working with codec does not work :

    ffmpeg -y -i  FreeScreenVideoRecorderVideo.avi -r 30000/1001 -b 2M -bt 4M -vcodec libx264 -pass 1 -vpre fastfirstpass -an output.mp4

    What can i be doing wrong ?