Recherche avancée

Médias (91)

Autres articles (96)

  • Sélection de projets utilisant MediaSPIP

    29 avril 2011, par

    Les exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
    Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
    Ferme MediaSPIP @ Infini
    L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)

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

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

Sur d’autres sites (6187)

  • Unexpected result from Python re.search for command line output

    23 mai 2020, par Fernando Ortega

    I'm using subprocess.Popen to run an ffmpeg command (in Windows) and then extract the part of the output that has the frame count with a regex expression using re.search. Sometimes, not always, I get the wrong result from search even if the printed command output string clearly shows what I expect.

    



    When I use re.findall I get 2 results, the "wrong" one and the expected one, but in the output string of the command I still only see one option. I'd like to understand why this is happening.

    



    Here's the code I'm running :

    



    import re
import subprocess

# path to video with 300 frames
cmd = r'ffmpeg -i C:\...\300frames_HUD.avi -map 0:v:0 -c copy -f null -'
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
output_info = p.communicate()[0]

regex = r'(frame=\s*)([0-9]+)'
search_result = re.search(regex, output_info)
findall_result = re.findall(regex, output_info)
print "SEARCH"
print '0', search_result.group(0)
print '1', search_result.group(1)
print '2', search_result.group(2)

print "FIND ALL"
print findall_result


    



    Here are the results I get :

    



    SEARCH
0 frame=  293
1 frame=  
2 293
FIND ALL
[('frame=  ', '293'), ('frame=  ', '300')]


    



    And here is the printed output_info, the ffmpeg command output I'm searching on :

    



    ffmpeg version git-2020-03-15-c467328 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20200122
  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-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 42.100 / 56. 42.100
  libavcodec     58. 75.100 / 58. 75.100
  libavformat    58. 41.100 / 58. 41.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 77.100 /  7. 77.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
Input #0, avi, from 'C:\...\300frames_HUD.avi':
  Duration: 00:00:10.00, start: 0.000000, bitrate: 373255 kb/s
    Stream #0:0: Video: rawvideo, bgr24, 960x540, 374496 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      title           : V
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf58.41.100
    Stream #0:0: Video: rawvideo, bgr24, 960x540, q=2-31, 374496 kb/s, 30 fps, 30 tbr, 30 tbn, 30 tbc
    Metadata:
      title           : V
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=  300 fps=0.0 q=-1.0 Lsize=N/A time=00:00:10.00 bitrate=N/A speed=19.4x    
video:455625kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown


    



    I'm essentially looking for the 300 number in frame=  300.
I can reproduce this easily when I execute it inside my IDE (pycharm) twice in a row quickly.

    


  • MobileFFMPeg Not converting mkv to Mp4

    7 mai 2020, par Jlee

    I'm currently running the following code on my device in order to convert all mkv files in a directory to an mp4. But for some reason no files are converted. I double checked the dir name and it is correct, is there something wrong with my syntax ?

    



    let path = self.documentsDir()
let url = URL(string: path.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)
     var rc = MobileFFmpeg.execute("-i jellyfish.mkv -c:v libx264 -preset -slow -crf 22 -c:a copy youroutput.mp4")
          if (rc == RETURN_CODE_SUCCESS) {
               print("Command execution completed successfully.\n");
                } 
          else if (rc == RETURN_CODE_CANCEL) {
                print("Command execution cancelled by user.\n");
                } 
           else {
                print("Command execution failed with rc=%d and output=%@.\n", rc, MobileFFmpegConfig.getLastCommandOutput);
                }


    



    2020-05-07 13:36:02.782150-0400 WebmBrowser[8025:138754] ERROR: /Users/jlee/Library/Developer/CoreSimulator/Devices/8CD81B87-9E27-4F3C-8601-C76945FAD4D8/data/Containers/Data/Application/B7A0D956-3BAB-4203-82EE-5FDBF38B2F13/Documents/jellyfish.mkv: Invalid data found when processing input

Command execution failed with rc=%d and output=%@.


    


  • FFMPEG cannot find H264 encoder

    31 juillet 2020, par Serban Stoenescu

    I am running ffmpeg from a program, and we built ffmpeg ourselves (we did not install it with package managers or pre-built stuff).
This is the command that is built :

    


    2020-07-31 12:14:11.942 INFO ffmpeg::FFTranscoder Executing: "../deps/ffmpeg/bin/ffmpeg" -y -r 26.062 -i ""/home/sstoenescu/Work/myproject/sample/myvideo.h264"" -c:v openh264 -vcodec h264 -movflags +faststart ""/home/sstoenescu/Work/myproject/sample/myvideo.mp4""


    


    The file myvideo.h264 is valid, I can play it with ffplay and I can run ffprobe on it without problems.
However, the command above gives this error :

    


    ffmpeg version N-98068-g16bdc2b541 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  configuration: --arch=x86_64 --cpu=nehalem --disable-ffplay --enable-shared --enable-network --enable-gpl --enable-libx265 --enable-encoder=libx265 --disable-hwaccels --enable-hwaccel=h264_qsv --enable-hwaccel=h264_vaapi
  libavutil      56. 50.100 / 56. 50.100
  libavcodec     58. 90.100 / 58. 90.100
  libavformat    58. 44.100 / 58. 44.100
  libavdevice    58.  9.103 / 58.  9.103
  libavfilter     7. 84.100 /  7. 84.100
  libswscale      5.  6.101 /  5.  6.101
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
[h264 @ 0x5597c38defc0] error while decoding MB 86 45, bytestream -30
[h264 @ 0x5597c38defc0] concealing 2723 DC, 2723 AC, 2723 MV errors in I frame
Input #0, h264, from '/home/sstoenescu/Work/edvr/laba/gaoazar.h264':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc
Multiple -c, -codec, -acodec, -vcodec, -scodec or -dcodec options specified for stream 0, only the last option '-c:v h264' will be used.
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_v4l2m2m))
Press [q] to stop, [?] for help
[h264 @ 0x5597c38e30c0] error while decoding MB 86 45, bytestream -30
[h264 @ 0x5597c38e30c0] concealing 2723 DC, 2723 AC, 2723 MV errors in I frame
[h264_v4l2m2m @ 0x5597c3905500] Could not find a valid device
[h264_v4l2m2m @ 0x5597c3905500] can't configure encoder
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height


    


    It used to work, I did not change anything in the command, so I'm assuming it's something in the way we build ffmpeg. We are using these flags : --enable-decoder=h264 --enable-encoder=h264_qsv    --enable-encoder=h264_vaapi --enable-decoder=h264 --enable-decoder=h264_qsv
Here's the full configuration :

    


    ./configure \
    --arch=x86_64 --cpu=nehalem \
    --disable-ffplay --enable-shared \
    --enable-network \
    --enable-gpl --enable-libx265 \
    --enable-encoder=libx265\
    --disable-hwaccels --enable-hwaccel=h264_qsv --enable-hwaccel=h264_vaapi \
     #--enable-encoder=libopenh264 \
     --enable-encoder=h264_qsv \
        --enable-encoder=h264_vaapi --enable-encoder=mjpeg --enable-encoder=gif \
    --enable-decoder=h264 --enable-decoder=h264_qsv \
        #--enable-decoder=libopenh264 
    --enable-libx264 \
        --enable-decoder=png \
    --enable-protocol=tcp \
    --enable-demuxer=rtsp --enable-demuxer=mov --enable-demuxer=h264 --enable-demuxer=image2 \
    --enable-muxer=mp4 --enable-muxer=h264 --enable-muxer=image2 \
    --prefix="./build"\
    --disable-doc


    


    Any ideas what could be wrong ?
Thanks.

    


    Regards,
Serban