Recherche avancée

Médias (1)

Mot : - Tags -/embed

Autres articles (64)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Configuration spécifique pour PHP5

    4 février 2011, par

    PHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
    Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
    Modules spécifiques
    Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)

Sur d’autres sites (8174)

  • Trying to use openH264 as an alternative to libX264 in FFMPEG C project

    5 décembre 2015, par Tishu

    I have an application that transcodes a video frame by frame using FFMPEG and x264 encoder. I am looking to release this application but the licensing of x264 made me switch to using openh264 instead.

    I managed to compile everything smoothly (openh264 then FFMPEG with enable-openh264). I am now trying to correct the encoder setup in my C code as what worked for libx264 doesn’t work anymore. Unfortunately I found very limited C/C++ examples of FFMPEG/openh264, i would appreciate any link/hint.

    I am using the following code (dec_ctx is the AVCodecContext of the video I am decoding)

               enc_ctx->height = dec_ctx->height;
               enc_ctx->width = dec_ctx->width;
               enc_ctx->sample_aspect_ratio = dec_ctx->sample_aspect_ratio;
               /* take first format from list of supported formats */
               enc_ctx->pix_fmt = encoder->pix_fmts[0];
               /* video time_base can be set to whatever is handy and supported by encoder */
               enc_ctx->time_base = dec_ctx->time_base;

               enc_ctx->gop_size      = 120; /* emit one intra frame every twelve frames at most */
               enc_ctx->max_b_frames = 16;
               enc_ctx->scenechange_threshold = 0;
               enc_ctx->rc_buffer_size = 0;
               enc_ctx->me_method = ME_ZERO;

               enc_ctx->ticks_per_frame = dec_ctx->ticks_per_frame * ifmt_ctx->streams[i]->time_base.den * ifmt_ctx->streams[i]->r_frame_rate.num/ifmt_ctx->streams[i]->r_frame_rate.den;
               // Set Ultrafast profile. internal name for this preset is baseline
               av_opt_set(enc_ctx->priv_data, "preset", "placebo", AV_OPT_SEARCH_CHILDREN);

    I get the following errors in the output with the [OpenH264] tag :

    [OpenH264] this = 0x0000000019C126C0, Warning:bEnableFrameSkip = 0,bitrate can't be controlled for RC_QUALITY_MODE,RC_BITRATE_MODE and RC_TIMESTAMP_MODE without enabling skip frame.
    Output #0, mp4, to 'C:\Dev\temp\geoVid.mp4':
    Stream #0:0: Video: h264 (libopenh264), yuv420p, 720x480, q=2-31, 200 kb/s, 90k tbn, 180k tbc
    Stream #0:1: Audio: aac, 48000 Hz, stereo, fltp, 96 kb/s
    [OpenH264] this = 0x0000000019C126C0, Warning:Actual input framerate fAverageFrameRate = 0.000000 is quite different from framerate in setting 60.000000, please check setting or timestamp unit (ms), start_Ts = 0
    [OpenH264] this = 0x0000000019C126C0, Warning:Actual input framerate fAverageFrameRate = 0.000000 is quite different from framerate in setting 60.000000, please check setting or timestamp unit (ms), start_Ts = 0

    The output video file just plays black frames. Any hint or link to some doc would be appreciated. I have been trying to understand these errors but not too sure how to enable "skip frame" or why it is complaining about my input framerate (this is the same input as when I encode successfully with libx264)

  • Dreamcast Archival

    24 mai 2011, par Multimedia Mike — Sega Dreamcast

    Console homebrew communities have always had a precarious relationship with console pirates. The same knowledge and skills useful for creating homebrew programs can usually be parlayed into ripping games and cajoling a console into honoring ripped copies. For this reason, the Dreamcast homebrew community tried hard to distance itself from pirates, rippers, and other unsavory characters.


    Lot of 9 volumes of the Official Sega Dreamcast Magazine

    Funny how times change. While I toed the same line while I was marginally a part of the community back in the day, now I think I’m performing a service for video game archivists and historians by openly publishing the same information. I know of at least one solution already. But I think it’s possible to do much better.

    Pre-existing Art
    Famed Japanese game hacker BERO (FFmpeg contributors should recognize his name from a number of Dreamcast-related multimedia contributions including CRI ADX and SH-4 optimizations) crafted a program called dreamrip based on KOS’s precursor called libdream. This is the program I used to extract 4XM multimedia files from Alone in the Dark : The New Nightmare.

    Fun facts : The Sega Dreamcast used special optical discs called GD-ROMs. The GD stands for ‘GigaDisc’ which implied that they could hold roughly a gigabyte of data. How long do you think it takes to transfer that much data over a serial cable operating at 115,200 bits/second (on the order of 11 Kbytes/sec) ? I seem to recall entire discs requiring on the order of 27-28 hours to archive.

    If only I possessed some expertise in data compression which might expedite this process.

    KallistiOS’ Unwitting Help
    The KallistiOS (KOS) console-oriented RTOS provides all the software infrastructure necessary for archiving (that’s what we’ll call it in this post) Dreamcast games. KOS exposes the optical disc’s filesystem via the /cd mount point on the VFS. From there, KOS provides functions for communicating with a host computer via ethernet (broadband adapter) or serial line (DC coder’s cable). To this end, KOS exposes another mount point on the VFS named /pc which allows direct access to the host PC’s filesystem.

    Thus, it’s pretty straightforward to use KOS to access the files (or raw sectors) of the Dreamcast disc and then send them over the communication line to the host PC. Simple.

    Compressing Before Transfer
    Right away, I wonder about compiling 3 different compression libraries : libz, libbz2, and liblzma. The latter 2 are exceptionally CPU-intensive to compress. Then again, it doesn’t really matter how long the compressor takes to do its job as long as it can average better than 11 Kbytes/sec on a 200MHz Hitachi SH-4 CPU. KOS can be set up in a preemptive threading mode which means it should be possible to read sectors and compress them while keeping the UART operating at full tilt.

    A 4th compression algorithm should be in play here as well : FLAC. Since some of these discs contain red book CD audio tracks that need archival, lossless audio compression should be useful.

    This post serves as a rough overview for possible future experiments. Readers might have further brainstorms.

  • Recording usb cam on raspberry pi with ffmpeg - usb troubleshooting

    18 septembre 2017, par Hwy2Hell

    I want to save video from an external usb cam on the raspberry pi 3. In order to avoid voltage drop issues, I use the offical raspberry power supply (2.5 Amp) and connected all usb devices by a separetely powered usb hub :

    pi@raspi:~/appdev/ffmpeg $ lsusb
    Bus 001 Device 037: ID 046d:09a1 Logitech, Inc. QuickCam Communicate MP/S5500
    Bus 001 Device 036: ID 046d:c03f Logitech, Inc. M-BT85 [UltraX Optical Mouse]
    Bus 001 Device 035: ID 04d9:1503 Holtek Semiconductor, Inc. Shortboard Lefty
    Bus 001 Device 012: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
    Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
    Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    When I try to test the functionality by running the following bash script (snippet) :

    function capture
    {
       capfile=$(date +%F_%Hh%Mm%Ss)
       echo saving to $wdir/$capfile.mp4
       echo $PATH
       ffmpeg -video_size 320x240 -i /dev/video0 \
       -vf drawtext="fontsize=18:x=10:y=220:fontcolor=red:\
       fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf:\
       text=%{localtime}" -t 10 $wdir/$capfile.mp4
       # change -t to 3600 = 1h
    }

    for i in $(seq 1 10)
    do
       echo
       echo Pass $i ...
       capture
    done

    After a few loop-runs I always see device errors :

    Pass 5 ...
    saving to /home/pi/appdev/ffmpeg/2017-09-16_13h31m00s.mp4
    /usr/local/bin:/usr/bin/ffmpeg:/usr/bin:/bin:/sbin
    ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 4.9.2 (Raspbian 4.9.2-10)
     configuration: --arch=armhf --target-os=linux --enable-gpl --enable-libfreetype --enable-mmal --enable-nonfree --enable-omx --enable-omx-rpi
     libavutil      55. 58.100 / 55. 58.100
     libavcodec     57. 89.100 / 57. 89.100
     libavformat    57. 71.100 / 57. 71.100
     libavdevice    57.  6.100 / 57.  6.100
     libavfilter     6. 82.100 /  6. 82.100
     libswscale      4.  6.100 /  4.  6.100
     libswresample   2.  7.100 /  2.  7.100
     libpostproc    54.  5.100 / 54.  5.100
    /dev/video0: Input/output error

    The kernel message log shows that the usb cam has been resetted :

    pi@raspi:~/appdev/ffmpeg $ dmesg | grep usb
    [ 4497.358195] usb 1-1.2.4: new high-speed USB device number 37 using dwc_otg
    [ 4497.573440] usb 1-1.2.4: New USB device found, idVendor=046d, idProduct=09a1
    [ 4497.573466] usb 1-1.2.4: New USB device strings: Mfr=0, Product=0, SerialNumber=2
    [ 4497.573481] usb 1-1.2.4: SerialNumber: A032D310
    [ 4497.605698] input: UVC Camera (046d:09a1) as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4:1.0/input/input15
    [ 4497.625582] usb 1-1.2.4: Warning! Unlikely big volume range (=3072), cval->res is probably wrong.
    [ 4497.625606] usb 1-1.2.4: [5] FU [Mic Capture Volume] ch = 1, val = 4608/7680/1
    [ 5268.123764] usb 1-1.2.4: reset high-speed USB device number 37 using dwc_otg

    Next time I start the script, the usb cam gets disconnected and /dev/viedo0 disappears :

    pi@raspi:~/appdev/ffmpeg $ dmesg | grep usb
    [ 5621.216896] usb 1-1.2.4: USB disconnect, device number 37
    [ 5621.586804] usb 1-1.2.4: new full-speed USB device number 38 using dwc_otg
    [ 5621.686694] usb 1-1.2.4: device descriptor read/64, error -32
    [ 5621.896583] usb 1-1.2.4: device descriptor read/64, error -32
    [ 5622.106572] usb 1-1.2.4: new full-speed USB device number 39 using dwc_otg
    [ 5622.206574] usb 1-1.2.4: device descriptor read/64, error -32
    [ 5622.416577] usb 1-1.2.4: device descriptor read/64, error -32
    [ 5622.626586] usb 1-1.2.4: new full-speed USB device number 40 using dwc_otg
    [ 5623.046583] usb 1-1.2.4: device not accepting address 40, error -32
    [ 5623.146583] usb 1-1.2.4: new full-speed USB device number 41 using dwc_otg
    [ 5623.566603] usb 1-1.2.4: device not accepting address 41, error -32
    [ 5623.566670] usb 1-1.2-port4: unable to enumerate USB device

    Has anybody experienced similar problems and can provide a fix for it ?

    What tools can I use to troubleshoot the usb communication on the pi ?