Recherche avancée

Médias (91)

Autres articles (106)

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

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

Sur d’autres sites (9276)

  • how to use ffmpeg -cookies to download aes encrypted hls stream

    3 mars 2014, par Shuman

    i need this cookies, so i can download stream from a m3u8 file,(it has this line

    #EXT-X-KEY:METHOD=AES-128,URI="https://xxx/myStream.php?wowzasessionid=861683502"

    so i can get the key right ? ( i have the login credential cookies to that site )

    according to this discussion, it was there, and i checked the code on github, it has the option.

    but when i compile it with the default options, there is no cookies option. how do i turn it on ?

    > ./ffmpeg -buildconf
    ffmpeg version N-61050-g2dcaa1b Copyright (c) 2000-2014 the FFmpeg developers
     built on Mar  3 2014 14:31:05 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
     configuration:
     libavutil      52. 66.100 / 52. 66.100
     libavcodec     55. 52.102 / 55. 52.102
     libavformat    55. 33.100 / 55. 33.100
     libavdevice    55. 10.100 / 55. 10.100
     libavfilter     4.  2.100 /  4.  2.100
     libswscale      2.  5.101 /  2.  5.101
     libswresample   0. 18.100 /  0. 18.100

     configuration:


    > ffmpeg -cookies
    /sww/gfx/lib64/python2.6/pytz/__init__.py:32: UserWarning: Module argparse was already imported from /sww/tools/lib64/python2.6/argparse.py, but /usr/lib/python2.6/site-packages is being added to sys.path
     from pkg_resources import resource_stream
    ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
     built on Mar 22 2013 09:58:42 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-44)
     configuration: --prefix=/dept/srd/vendor/ffmpeg/bundle.rhel5/ffmpeg1.2.0 --enable-static --enable-pthreads --enable-gpl --disable-ffserver --disable-ffplay --disable-ffprobe --extra-cflags=-I/dept/srd/vendor/ffmpeg/extern/rhel5/include --extra-ldflags=-L/dept/srd/vendor/ffmpeg/extern/rhel5/lib --enable-x11grab --enable-libx264 --enable-nonfree --enable-fontconfig --enable-libfreetype --enable-swscale --enable-libmp3lame --enable-libfaac
     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
     libpostproc    52.  2.100 / 52.  2.100
    Unrecognized option 'cookies'.
    Error splitting the argument list: Option not found
  • Repair mpeg files using ffmpeg

    27 février 2014, par rsdrsd

    I have a bunch of mpeg files which are some how invalid or incorrect. I can play the files in different media players but when I upload the files and they should automagically be converted. It takes a very long time to create screenshots and it creates about 10000 screenshots instead of the 50 to be expected. The command is part of an automatic conversion app. With mp4 and other files it works great but whit mpeg it doesn't work as expected. The creation of screenshots eats up all memory and processor power.

    For creating screenshots I have tried the following :

       ffmpeg -y -i /input/file.mpeg -f image2 -aspect 16:9 -bt 20M -vsync passthrough -vf select='isnan(prev_selected_t)+gte(t-prev_selected_t\,10)' /output/file-%05d.jpg

    this just creates 2 screenshots while I expect 50 or so. The following command :

       ffmpeg -y -i /input/file.mpeg -f image2 -vf fps=fps=1/10 -aspect 16:9 -vsync passthrough -bt 20M /output/file-%05d.jpg

    gave me errors about buffers :

       ffmpeg version N-39361-g1524b0f Copyright (c) 2000-2014 the FFmpeg developers
         built on Feb 26 2014 23:46:40 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-4)
         configuration: --prefix=/home/example/ffmpeg_build --extra-cflags=-I/home/example/ffmpeg_build/include --extra-ldflags=-L/home/example/ffmpeg_build/lib --bindir=/home/example/bin --extra-libs=-ldl --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libfreetype --enable-libspeex --enable-libtheora
         libavutil      52. 66.100 / 52. 66.100
         libavcodec     55. 52.102 / 55. 52.102
         libavformat    55. 33.100 / 55. 33.100
         libavdevice    55. 10.100 / 55. 10.100
         libavfilter     4.  2.100 /  4.  2.100
         libswscale      2.  5.101 /  2.  5.101
         libswresample   0. 18.100 /  0. 18.100
         libpostproc    52.  3.100 / 52.  3.100
       [mp3 @ 0x200d7c0] Header missing
       [mpegts @ 0x2008a60] DTS discontinuity in stream 0: packet 6 with DTS 34185, packet 7 with DTS 8589926735
       [mpegts @ 0x2008a60] Invalid timestamps stream=0, pts=7157, dts=8589932741, size=150851
       Input #0, mpegts, from '/home/example/app/uploads/21.mpeg':
         Duration: 00:03:14.75, start: 0.213000, bitrate: 26112 kb/s
         Program 1
    Stream #0:0[0x3e9]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 1440x1080 [SAR 4:3 DAR 16:9], max. 25000 kb/s, 29.97 fps, 60 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x3ea]: Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 384 kb/s
       [swscaler @ 0x1ff9860] deprecated pixel format used, make sure you did set range correctly
       Output #0, image2, to '/home/example/app/uploads/21-%05d.jpg':
         Metadata:
    encoder         : Lavf55.33.100
    Stream #0:0: Video: mjpeg, yuvj420p, 1440x1080 [SAR 4:3 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 0.10 tbc
       Stream mapping:
         Stream #0:0 -> #0:0 (mpeg2video -> mjpeg)
       Press [q] to stop, [?] for help
       [mpegts @ 0x2008a60] Invalid timestamps stream=0, pts=7157, dts=8589932741, size=150851
       [output stream 0:0 @ 0x1ff2ba0] 100 buffers queued in output stream 0:0, something may be wrong.
       [output stream 0:0 @ 0x1ff2ba0] 1000 buffers queued in output stream 0:0, something may be wrong.

    and it creates about 10000 screenshots while I expect 50.

    Now I have read some where on how to repair some broken files. For this I have the following command :

       ffmpeg -y -i input.mpeg -codec:v copy -codec:a copy output.mpeg

    This however creates a file somewhat smaller, but if I run the same command on the output again, I would expect that it creates the same file, but the following command

       ffmpeg -y -i output.mpeg -codec:v copy -codec:a copy output2.mpeg

    returns a file which is much smaller and runs for only a few seconds while the original was about 3 minutes.

    If I run the "repair" commands for a not broken mpeg it results the first time I run the command in a much smaller file. With ffprobe I checked what changed but the only thing that changes is MPEG-TS to MPEG-PS.

    If I run the command over an mp4 file it results in exactly the same file as expected. Does someone have a clue of what is going wrong. It is boggling me now for about two days and I really have no clue. Or does someone have a good suggestion on how to extract screenshots every 10 seconds without creating too much screenshots and eating up all memory and processor power.

  • cmake installation of x265 for ffmpeg on Cygwin - executable location different from other codecs

    6 mai, par bballdave025

    TL ;DR (with expected vs. real)

    


    For a Cygwin build of ffmpeg, I'm installing x265, and it seems to me that the executable ends up in the wrong place. I'll show some basic directory structure, then I'll show the tree outputs for expected and real, both before and after the cmake installation. For directories where I think this is important, I'll show the outputs before and after the cmake installation.

    


    My question has two parts. I used the following cmake and make commands,

    


    # pwd => $HOME/programs/ffmpeg/ffmpeg_sources/x265/build/linux
PATH="$HOME/programs/ffmpeg/bin:$PATH" \
  cmake -G "Unix Makefiles" \
        -DCMAKE_INSTALL_PREFIX="$HOME/programs/ffmpeg/ffmpeg_build" \
        -DENABLE_SHARED=OFF \
        -DCMAKE_EXE_LINKER_FLAGS="-static" 
            ../../source
PATH="$HOME/programs/ffmpeg/bin:$PATH" make -j $(nproc)
make install


    


    The result is below, with my real vs. expected, and there is a more detailed, more explicit, and hopefully more clear file with the info. at pastebin.com/86wHrtxR.

    


    Edit : I've made a copy of the detailed/explicit/clear file on my GitHub as a gist. This should be more secure. (The Pastebin version still exists, in case that is your preference.)

    


    Now, for my two-part question :

    


      

    1. How can I change my cmake command so that my x265.exe file ends up in $HOME/programs/ffmpeg/bin with the proper linking, rather than $HOME/programs/ffmpeg/ffmpeg_build/bin ?

      


    2. 


    3. Would the build/linker/whatever figure things out for the ffmpeg build ?

      


    4. 


    


    I want to know the answer to question number 1 regardless of the answer to question number 2. I haven't used cmake with the -DVAR=var flags before, and I'd like to take this opportunity to learn.

    


    For the result :

    


    Things surrounded by double curly brackets are {{ expected }}.

    


    Things surrounded by double angle brackets are << real >>, i.e. they exist after the installation is done.

    


    If real matches expected, and the file/directory is new, I've surrounded it by double parentheses, i.e. double round brackets. (( match ))

    


    If something is not new (and thus has the same before and after) I haven't marked it.

    


       me@MACHINE ~/programs/ffmpeg&#xA;   $ tree --charset=ascii bin&#xA;   bin&#xA;   |-- lame.exe&#xA;   |-- mp3rtp.exe&#xA;   |-- mp3x.exe&#xA;   `-- x264.exe&#xA;{{ `-- x265.exe                     }} ## Expected, not Exists&#xA;&#xA;   me@MACHINE ~/programs/ffmpeg&#xA;   $ tree --charset=ascii \&#xA;                   ffmpeg_build&#xA;   ffmpeg_build&#xA;&lt;&lt; |-- bin                          >> ## Not expected, Exists&#xA;&lt;&lt; |   `-- x265.exe                 >> ## Not expected, Exists&#xA;   |-- include&#xA;   |   |-- fdk-aac&#xA;   |   |   |-- aacdecoder_lib.h&#xA;   |   |   |-- aacenc_lib.h&#xA;   |   |   `-- ... <more files="files">&#xA;   |   |-- lame&#xA;   |   |   `-- lame.h&#xA;   |   |-- x264.h&#xA;   |   `-- x264_config.h&#xA;(( |   |-- x265.h                   )) ## Expected and Exists&#xA;(( |   `-- x265_config.h            )) ## Expected and Exists&#xA;   |-- lib&#xA;   |   |-- libfdk-aac.a&#xA;   |   |-- libfdk-aac.la&#xA;   |   |-- libmp3lame.a&#xA;   |   |-- libmp3lame.la&#xA;(( |   |-- libx265.a                )) ## Expected and Exists&#xA;   |   `-- pkgconfig&#xA;   |       |-- fdk-aac.pc&#xA;   |       `-- x264.pc&#xA;(( |       `-- x265.pc              )) ## Expected and Exists&#xA;   `-- share&#xA;       |-- doc&#xA;       |   ... <only lame="lame">&#xA;       `-- man&#xA;           ... <only lame="lame">&#xA;</only></only></more>

    &#xA;

    Other, possibly useful information about the build directory structure.

    &#xA;

    me@MACHINE ~/programs/ffmpeg&#xA;$ tree --charset=ascii -L 1 .&#xA;.&#xA;|-- bin&#xA;|-- ffmpeg_build&#xA;`-- ffmpeg_sources&#xA;&#xA;3 directories, 0 files&#xA;

    &#xA;

    For this next, ffmpeg_sources dir, I'm showing the after (which is both expected and real/exists) surrounded by double parentheses, i.e. double round brackets, (( <after> ))</after>.

    &#xA;

       me@MACHINE ~/programs/ffmpeg&#xA;   $ tree --charset=ascii -L 1 ffmpeg_sources&#xA;   ffmpeg_sources&#xA;   |-- fdk-aac.zip&#xA;   |-- lame-svn&#xA;   |-- mstorsjo-fdk-aac-e7d8591&#xA;   |-- x264-snapshot-20191217-2245&#xA;   |-- x264-snapshot-20191217-2245.tar.bz2&#xA;   `-- x264-snapshot-20191218-README.txt&#xA;(( `-- x265                         ))&#xA;&#xA;   3 directories, 3 files&#xA;(( 4 directories, 3 files ))&#xA;

    &#xA;


    &#xA;

    NOW, FOR SOME MORE DETAIL

    &#xA;


    &#xA;

    What I'm Doing

    &#xA;

    I am working on a Cygwin build (vs. a Windows/mingw build) of ffmpeg. I am following an older guide by koohiimaster (archived). That guide says,

    &#xA;

    &#xA;

    [W]e are not cross-compiling for windows ; we are compiling for Cygwin.

    &#xA;

    &#xA;

    This 2014 guide doesn't have all of the codecs I want - I want as complete a build as possible - so I've also been referring to this ffmpeg-for-Ubuntu guide (archived), which I hope is kept up-to-date. It's referred to by koohiimaster.

    &#xA;

    Also, as a way of checking that I'm getting all the codecs I want, I've been looking at this FFmpeg for Windows guide from SuperUser

    &#xA;

    I'll give the basics of my steps below. More details, as well as all the output is at pastebin.com/suL1nU6Z.

    &#xA;

    Edit : I've put the log of terminal input/output for all my steps into a gist at my GitHub as this seems safer than Pastebin.

    &#xA;

    A look at directory structure for the build

    &#xA;

    me@MACHINE ~/programs/ffmpeg&#xA;$ cd $HOME/programs/ffmpeg&#xA;&#xA;me@MACHINE ~/programs/ffmpeg&#xA;$ tree --charset=ascii -d -L 1&#xA;.&#xA;|-- bin&#xA;|-- ffmpeg_build&#xA;`-- ffmpeg_sources&#xA;&#xA;3 directories&#xA;

    &#xA;

    Getting the source. Note that I had to apt-cyg install mercurial, though (with my Cygwin setup GUI/EXE in my Cygwin root directory, i.e. C:\cygwin64\setup-x86_64.exe), I could also have done /setup-x86_64.exe install -q -P mercurial.

    &#xA;

    cd ffmpeg_sources&#xA;hg clone https://bitbucket.org/multicoreware/x265&#xA;

    &#xA;

    Running the cmake and make commands

    &#xA;

    cd x265/build/linux&#xA;PATH="$HOME/programs/ffmpeg/bin:$PATH" \&#xA;  cmake -G "Unix Makefiles" \&#xA;        -DCMAKE_INSTALL_PREFIX="$HOME/programs/ffmpeg/ffmpeg_build" \&#xA;        -DENABLE_SHARED=OFF \&#xA;        -DCMAKE_EXE_LINKER_FLAGS="-static" \&#xA;            ../../source&#xA;PATH="$HOME/programs/ffmpeg/bin:$PATH" make -j $(nproc)&#xA;make install&#xA;

    &#xA;

    It was the last part (actually the very last line) of the make install output that worried me. Here is the whole output - it's not very long.

    &#xA;

    make[1]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;[ 20%] Built target encoder&#xA;make[2]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;[ 83%] Built target common&#xA;make[2]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;[ 84%] Built target x265-static&#xA;make[2]: Entering directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;make[2]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;[100%] Built target cli&#xA;make[1]: Leaving directory &#x27;/home/me/programs/ffmpeg/ffmpeg_sources/x265/build/linux&#x27;&#xA;Install the project...&#xA;-- Install configuration: "Release"&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/lib/libx265.a&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/include/x265.h&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/include/x265_config.h&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/lib/pkgconfig/x265.pc&#xA;-- Installing: /home/me/programs/ffmpeg/ffmpeg_build/bin/x265.exe&#xA;

    &#xA;

    As discussed in the TL ;DR section, I expected to see x265.exe at

    &#xA;

    home/me/programs/ffmpeg/bin/x265.exe

    &#xA;

    rather than the path given on the last line of output,

    &#xA;

    /home/me/programs/ffmpeg/ffmpeg_build/bin/x265.exe

    &#xA;

    This worries me especially because the first part of the ffmpeg install command that my instructions inform me to run is

    &#xA;

    PATH="$HOME/programs/ffmpeg/bin:$PATH" \&#xA;PKG_CONFIG_PATH="$HOME/programs/ffmpeg/ffmpeg_build/lib/pkgconfig" \&#xA;  ./configure \&#xA;    --prefix="$HOME/programs/ffmpeg/ffmpeg_build" \&#xA;    --extra-cflags="-I$HOME/programs/ffmpeg/ffmpeg_build/include" \&#xA;    --extra-ldflags="-L$HOME/programs/ffmpeg/ffmpeg_build/lib" \&#xA;    --bindir="$HOME/programs/ffmpeg/bin" \&#xA;

    &#xA;

       ... and on it goes ...

    &#xA;

    It would seem to me that the .configure script for ffmpeg won't find the x265 executable, since it's not in the bindir.

    &#xA;

    I'll repeat my two-part question from before :

    &#xA;

      &#xA;
    1. How can I change my cmake command so that my x265.exe file ends up in $HOME/programs/ffmpeg/bin with the proper linking, rather than $HOME/programs/ffmpeg/ffmpeg_build/bin ?
    2. &#xA;

    &#xA;

    What I'm looking for here is something akin to the --bindir flag from make's ./confiure.

    &#xA;

      &#xA;
    1. Would the build/linker/whatever figure things out for the ffmpeg build ?
    2. &#xA;

    &#xA;

    I want to know the answer to question number 1 regardless of the answer to question number 2. I haven't used cmake with the -DVAR=var flags before, and I'd like to take this opportunity to learn.

    &#xA;


    &#xA;

    Where I've Looked & What I've Tried

    &#xA;

    I first started with the man page and the --help for cmake. That was scary. I was hoping that I'd find something useful around the CMAKE_INSTALL_PREFIX stuff, but I wasn't sure what to make of it.

    &#xA;

    I tried greping through cmake --help-full (with 50 lines before and after whatever I was searching for), but got tripped up by the complexity. I've only used basic cmake stuff, before, and I got more than a little lost.

    &#xA;

    Even with the --help, I don't know if I need to look at the help-manual, the help-command, the help-module, the help-policy, the help-variable, or something else.

    &#xA;

    It seemed to me, in reading, that a "binary directory" is the top of the "build", whereas I thought it would be the dir named bin ... I couldn't tell what things were meant to be used by the person creating the package rather than by me, who am trying to make/build the package from the command line.

    &#xA;

    I looked through what seemed to be a cmake wiki's Useful Variables page (archived), as well as at this thread at cmake.org (archived), which, along with this SO source and this and this and this and this SO sources, seemed to suggest using the CMAKE_RUNTIME_OUTPUT_DIRECTORY variable (since the EXECUTABLE_OUTPUT-DIRECTORY variable has been superseded by it). By the way, I couldn't tell which things should be used by the creator of the package vs. the consumer of the package - the consumer being me. I tried with

    &#xA;

    PATH="$HOME/programs/ffmpeg/bin:$PATH" \&#xA;  cmake -G "Unix Makefiles" \&#xA;        -DCMAKE_INSTALL_PREFIX="$HOME/programs/ffmpeg/ffmpeg_build" \&#xA;        -DCMAKE_RUNTIME_OUTPUT_DIRECTORY="$HOME/programs/ffmpeg/bin" \&#xA;        -DENABLE_SHARED=OFF \&#xA;        -DCMAKE_EXE_LINKER_FLAGS="-static" &#xA;            ../../source&#xA;PATH="$HOME/&#xA;

    &#xA;

    and have thought about fifty-or-so other -DVAR variables, but with any I have tried, I still get the same result. I still get the executable in what seems to be the wrong place.

    &#xA;


    &#xA;

    System Details

    &#xA;

    $ date &amp;&amp; date &#x2B;&#x27;%s&#x27;&#xA;Tue, May  5, 2020 11:14:40 AM&#xA;1588698880&#xA;$ uname -a&#xA;CYGWIN_NT-10.0 MACHINE 3.1.4(0.340/5/3) 2020-02-19 08:49 x86_64 Cygwin&#xA;$ cmake --version&#xA;cmake version 3.14.5&#xA;&#xA;CMake suite maintained and supported by Kitware (kitware.com/cmake).&#xA;$ bash --version | head -n 1&#xA;GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin)&#xA;$ gcc --version | head -n 1&#xA;gcc (GCC) 9.3.0&#xA;$ g&#x2B;&#x2B; --version | head -n 1&#xA;g&#x2B;&#x2B; (GCC) 9.3.0&#xA;$ make --version | head -n 2&#xA;GNU Make 4.3&#xA;Built for x86_64-pc-cygwin&#xA;

    &#xA;