Recherche avancée

Médias (91)

Autres articles (68)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

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

  • Issue in CV_FOURCC('H', '2', '6', '4')

    16 décembre 2014, par Ashwin

    I am trying to use H264 encoding type for compressing the live streaming from Camera (which is supporting the H264 codec) am getting below -
    [I am using OPENCV 3.0 beta version (latest)in windows 7 64 bit system .My camera is also supporting H264 codec (find more details below) ]
    My ffmpeg code got built with h264 lib :
    This build was compiled with the following external libraries :
    x264 20140826-git-dd79a61 http://videolan.org/developers/x264.html

    **error :**

    Frame size = 1280x720
    Could not find encoder for codec id 28: Encoder not foundERROR: Failed to write the video
    Press any key to continue . . .

    Below is my code :

    int main(int argc, char *argv[])
    {
    // QApplication a(argc, argv);

     VideoCapture cap(0); //capture webcam

     if (!cap.isOpened()) //if not successful then exit
     {
       cout << "Cannot open webcam";
       return -1;
     }

     namedWindow("Camera feed", 1); //create window

     cap.set(3, 1280);
     cap.set(4, 720);

     double dWidth  = cap.get(CV_CAP_PROP_FRAME_WIDTH); //get width of frames of video
     double dHeight = cap.get(CV_CAP_PROP_FRAME_HEIGHT); //get height of frames of video    


     Size frameSize(static_cast<int>(dWidth), static_cast<int>(dHeight));

     cout &lt;&lt; "Frame size = " &lt;&lt; dWidth &lt;&lt; "x" &lt;&lt; dHeight &lt;&lt; endl;

     VideoWriter oVideoWriter("video.avi", CV_FOURCC('X', '2', '6', '4'), 30, frameSize);

     if(!oVideoWriter.isOpened())
     {
       cout &lt;&lt; "ERROR: Failed to write the video" &lt;&lt; endl;
       return -1;
     }
     while(1)
     {
       Mat frame;
       bool bSuccess = cap.read(frame); //read a new frame from video

       if(!bSuccess) //if unsuccessful, break loop
       {
           cout &lt;&lt; "Cannot read frame from video file" &lt;&lt; endl;
           break;
       }

       oVideoWriter.write(frame); //write the frame into the file
       imshow("Camera feed", frame); //show the frame in "Live Feed" window

       cout &lt;&lt; "Recording" &lt;&lt; endl;

       if (waitKey(30) == 27)

       {
         cout&lt;&lt; "Esc key is pressed by user" &lt;&lt; endl;
         break;
       }

     }
     return 0;
    }
    </int></int>

    Here is the proof that my camera is supporting the H264 :

    C:\Users>ffmpeg -f dshow -list_options true -i video="Logitech HD Pro Webcam C920"
    ffmpeg version N-66116-g720c21d Copyright (c) 2000-2014 the FFmpeg developers
     built on Sep  4 2014 22:09:48 with gcc 4.8.3 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
     libavutil      54.  7.100 / 54.  7.100
     libavcodec     56.  1.100 / 56.  1.100
     libavformat    56.  4.100 / 56.  4.100
     libavdevice    56.  0.100 / 56.  0.100
     libavfilter     5.  0.103 /  5.  0.103
     libswscale      3.  0.100 /  3.  0.100
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  0.100 / 53.  0.100
    [dshow @ 0000000002faf680] DirectShow video device options
    [dshow @ 0000000002faf680]  Pin "Capture"
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=640x480 fps=5 max s=640x480 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=160x90 fps=5 max s=160x90 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=160x120 fps=5 max s=160x120 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=176x144 fps=5 max s=176x144 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=320x180 fps=5 max s=320x180 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=320x240 fps=5 max s=320x240 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=352x288 fps=5 max s=352x288 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=432x240 fps=5 max s=432x240 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=640x360 fps=5 max s=640x360 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=800x448 fps=5 max s=800x448 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=800x600 fps=5 max s=800x600 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=864x480 fps=5 max s=864x480 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=960x720 fps=5 max s=960x720 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=1024x576 fps=5 max s=1024x576 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=1280x720 fps=5 max s=1280x720 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=1600x896 fps=5 max s=1600x896 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=1920x1080 fps=5 max s=1920x1080 fps=30
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=2304x1296 fps=2 max s=2304x1296 fps=2
    [dshow @ 0000000002faf680]   pixel_format=bgr24  min s=2304x1536 fps=2 max s=2304x1536 fps=2
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=640x480 fps=5 max s=640x480 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=160x90 fps=5 max s=160x90 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=160x120 fps=5 max s=160x120 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=176x144 fps=5 max s=176x144 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=320x180 fps=5 max s=320x180 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=320x240 fps=5 max s=320x240 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=352x288 fps=5 max s=352x288 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=432x240 fps=5 max s=432x240 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=640x360 fps=5 max s=640x360 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=800x448 fps=5 max s=800x448 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=800x600 fps=5 max s=800x600 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=864x480 fps=5 max s=864x480 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=960x720 fps=5 max s=960x720 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=1024x576 fps=5 max s=1024x576 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=1280x720 fps=5 max s=1280x720 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=1600x896 fps=5 max s=1600x896 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=1920x1080 fps=5 max s=1920x1080 fps=30
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=2304x1296 fps=2 max s=2304x1296 fps=2
    [dshow @ 0000000002faf680]   pixel_format=yuv420p  min s=2304x1536 fps=2 max s=2304x1536 fps=2
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=640x480 fps=5 max s=640x480 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=160x90 fps=5 max s=160x90 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=160x120 fps=5 max s=160x120 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=176x144 fps=5 max s=176x144 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=320x180 fps=5 max s=320x180 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=320x240 fps=5 max s=320x240 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=352x288 fps=5 max s=352x288 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=432x240 fps=5 max s=432x240 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=640x360 fps=5 max s=640x360 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=800x448 fps=5 max s=800x448 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=800x600 fps=5 max s=800x600 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=864x480 fps=5 max s=864x480 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=960x720 fps=5 max s=960x720 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=1024x576 fps=5 max s=1024x576 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=1280x720 fps=5 max s=1280x720 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=1600x896 fps=5 max s=1600x896 fps=30
    [dshow @ 0000000002faf680]   vcodec=mjpeg  min s=1920x1080 fps=5 max s=1920x1080 fps=30
    [dshow @ 0000000002faf680]  Pin "Capture"
    [dshow @ 0000000002faf680]   vcodec=h264  min s=640x480 fps=5 max s=640x480 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=160x90 fps=5 max s=160x90 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=160x120 fps=5 max s=160x120 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=176x144 fps=5 max s=176x144 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=320x180 fps=5 max s=320x180 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=320x240 fps=5 max s=320x240 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=352x288 fps=5 max s=352x288 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=432x240 fps=5 max s=432x240 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=640x360 fps=5 max s=640x360 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=800x448 fps=5 max s=800x448 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=800x600 fps=5 max s=800x600 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=864x480 fps=5 max s=864x480 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=960x720 fps=5 max s=960x720 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=1024x576 fps=5 max s=1024x576 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=1280x720 fps=5 max s=1280x720 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=1600x896 fps=5 max s=1600x896 fps=30
    [dshow @ 0000000002faf680]   vcodec=h264  min s=1920x1080 fps=5 max s=1920x1080 fps=30
    video=Logitech HD Pro Webcam C920: Immediate exit requested
  • What causes Firefox to refuse playing one specific MP4 that plays well on other browsers, resolution being the only difference ?

    3 décembre 2014, par Faro

    I’m a developer for a PHP powered website that allows the upload of videos which get converted to MP4 using ffmpeg. This setup worked pretty well so far, however today I came across a report of a user that couldn’t play one of the files in Firefox.

    I was unable to replicate the issue on my own machine at first, but using a fresh install of Windows 7 I actually got the same issue : The file will not play in Firefox, but works fine in Chrome. If called up directly, Firefox will say "Video can’t be played because the file is corrupt".
    When downloaded, Windows will also not create a thumbnail of the video for the file and WMP will only play the audio part.

    On my own machine the file works perfectly in WMP which made me wonder if it could be a codec issue (I do have the K-Lite Codec Pack installed), however I’ve compared the file to a working one and the only difference is the resolution, filesize and the format profile which is "High@L3.1" for a working file with a 720p resolution and "High@L4.0" for the non-working one (which is 1600x1200).

    I then read through the Wikipedia article on H.264/MPEG-4 AVC and began to wonder if the level might be the issue, and the tool I used (XMedia Recode) actually did not allow me to set a height bigger than 1080 on Level 4, however when I set the level to 5 and encoded the file again, it still wouldn’t play.

    I did find a note on the MDN page of supported formats which reads :

    Firefox/Firefox for Android/Firefox OS supports the format in some cases, but only when a third-party decoder is available, and the device hardware can handle the profile used to encode the MP4.

    I’m assuming that is why the codec pack would allow Firefox to play even the ’broken’ file on my machine, I still don’t understand though why Firefox does play some files but not this one, especially when Chrome on the same machine plays all of them.

    The line in PHP that starts the conversion is as follows :

    exec("/usr/local/bin/ffmpeg '-i' '" . $file_in . "' '-qscale' '4' '-y' '-threads' '1' '-acodec' 'libvo_aacenc' '-vcodec' 'h264' '" . $file_out . "' 2>&amp;1", $buffer, $success);

    This should produce correct files, and this is indeed the first time a file has issues.

    MediaInfo provides this data for the file stream :

    Video
    ID                                       : 1
    Format                                   : AVC
    Format/Info                              : Advanced Video Codec
    Format profile                           : High@L4.0
    Format settings, CABAC                   : Yes
    Format settings, ReFrames                : 4 frames
    Codec ID                                 : avc1
    Codec ID/Info                            : Advanced Video Coding
    Duration                                 : 12mn 26s
    Bit rate                                 : 77.7 Kbps
    Width                                    : 1 600 pixels
    Height                                   : 1 200 pixels
    Display aspect ratio                     : 4:3
    Frame rate mode                          : Constant
    Frame rate                               : 30.000 fps
    Color space                              : YUV
    Chroma subsampling                       : 4:2:0
    Bit depth                                : 8 bits
    Scan type                                : Progressive
    Bits/(Pixel*Frame)                       : 0.001
    Stream size                              : 6.92 MiB (36%)
    Writing library                          : x264 core 142 r14 956c8d8
    Encoding settings                        : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=1 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=23.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    Language                                 : English

    Audio
    ID                                       : 2
    Format                                   : AAC
    Format/Info                              : Advanced Audio Codec
    Format profile                           : LC
    Codec ID                                 : 40
    Duration                                 : 12mn 26s
    Duration_LastFrame                       : -10ms
    Bit rate mode                            : Constant
    Bit rate                                 : 128 Kbps
    Channel(s)                               : 2 channels
    Channel positions                        : Front: L R
    Sampling rate                            : 44.1 KHz
    Compression mode                         : Lossy
    Stream size                              : 11.4 MiB (60%)
    Language                                 : English

    I’ve uploaded a zip with 3 versions of the file, the untouched one, the converted one with the same settings the website would use, and another converted one with level 5.

    Maybe I’m missing something obvious, but I couldn’t find anything wrong with it, what do I need to change in order to produce a file that will work natively in Firefox ?

    Also, this is my first question on SO, so if you see anything that I can improve, please let me know :-)

    Edit : This is the output of calling ffmpeg (with the faststart option)

    /usr/local/bin/ffmpeg '-i' '49cf594e91d0dac376aa0b2b96972ded.mp4' '-movflags' '+faststart' '-qscale' '4' '-y' '-threads' '1' '-acodec' 'libvo_aacenc' '-vcodec' 'h264' 'test.mp4'

    ffmpeg version 1.2.5-   http://johnvansickle.com/ffmpeg/    Copyright (c) 2000-2014 the FFmpeg developers
     built on Jan 22 2014 20:28:02 with gcc 4.8 (Debian 4.8.2-14)
     configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --disable-ffserver
     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
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '49cf594e91d0dac376aa0b2b96972ded.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf54.63.104
     Duration: 00:12:26.37, start: 0.036281, bitrate: 214 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1600x1200 [SAR 1:1 DAR 4:3], 77 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
       Metadata:
         handler_name    : SoundHandler
    Please use -q:a or -q:v, -qscale is ambiguous
    [libx264 @ 0x2802ac0] using SAR=1/1
    [libx264 @ 0x2802ac0] using cpu capabilities: MMX2 SSE2Fast LZCNT
    [libx264 @ 0x2802ac0] profile High, level 4.0
    [libx264 @ 0x2802ac0] 264 - core 142 r14 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'test.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf54.63.104
       Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1600x1200 [SAR 1:1 DAR 4:3], q=-1--1, 15360 tbn, 30 tbc
       Metadata:
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
       Metadata:
         handler_name    : SoundHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 -> libx264)
     Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
    Press [q] to stop, [?] for help
    Starting second pass: moving header on top of the file30.77 bitrate= 202.5kbits/s dup=1 drop=0
    frame=15331 fps= 13 q=29.0 Lsize=   13201kB time=00:08:31.03 bitrate= 211.6kbits/s dup=1 drop=0
    video:4673kB audio:7986kB subtitle:0 global headers:0kB muxing overhead 4.286767%
    [libx264 @ 0x2802ac0] frame I:63    Avg QP:12.37  size: 39759
    [libx264 @ 0x2802ac0] frame P:3905  Avg QP:20.36  size:   313
    [libx264 @ 0x2802ac0] frame B:11363 Avg QP:33.67  size:    93
    [libx264 @ 0x2802ac0] consecutive B-frames:  1.1%  0.1%  0.2% 98.6%
    [libx264 @ 0x2802ac0] mb I  I16..4: 48.0% 41.5% 10.5%
    [libx264 @ 0x2802ac0] mb P  I16..4:  0.1%  0.2%  0.0%  P16..4:  0.5%  0.0%  0.0%  0.0%  0.0%    skip:99.1%
    [libx264 @ 0x2802ac0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.3%  0.0%  0.0%  direct: 0.0%  skip:99.7%  L0:50.2% L1:48.9% BI: 0.8%
    [libx264 @ 0x2802ac0] 8x8 transform intra:42.4% inter:36.9%
    [libx264 @ 0x2802ac0] coded y,uvDC,uvAC intra: 6.9% 13.4% 9.4% inter: 0.0% 0.1% 0.0%
    [libx264 @ 0x2802ac0] i16 v,h,dc,p: 82% 17%  1%  0%
    [libx264 @ 0x2802ac0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 30% 20% 49%  0%  0%  0%  0%  0%  0%
    [libx264 @ 0x2802ac0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 20% 18%  3%  4%  4%  4%  4%  3%
    [libx264 @ 0x2802ac0] i8c dc,h,v,p: 80% 12%  7%  1%
    [libx264 @ 0x2802ac0] Weighted P-Frames: Y:0.3% UV:0.3%
    [libx264 @ 0x2802ac0] ref P L0: 74.7%  3.8% 10.6% 10.9%  0.0%
    [libx264 @ 0x2802ac0] ref B L0: 70.3% 28.9%  0.8%
    [libx264 @ 0x2802ac0] ref B L1: 97.9%  2.1%
    [libx264 @ 0x2802ac0] kb/s:74.90
  • Saying Goodbye To Old Machines

    1er décembre 2014, par Multimedia Mike — General, powerpc, via

    I recently sent a few old machines off for recycling. Both had relevance to the early days of the FATE testing effort. As is my custom, I photographed them (poorly, of course).

    First, there’s the PowerPC-based Mac Mini I procured thanks to a Craigslist ad in late 2006. I had plans to develop automated FFmpeg building and testing and was already looking ahead toward testing multiple CPU architectures. Again, this was 2006 and PowerPC wasn’t completely on the outs yet– although Apple’s MacTel transition was in full swing, the entire new generation of video game consoles was based on PowerPC.


    PPC Mac Mini pieces

    Click for larger image


    I remember trying to find a Mac Mini PPC on Craigslist. Many were to be found, but all asked more than the price of even a new Mac Mini Intel, always because the seller was leaving all of last year’s applications and perhaps including a monitor, neither of which I needed. Fortunately, I found this bare Mac Mini. Also fortunate was the fact that it was far easier to install Linux on it than the first PowerPC machine I owned.

    After FATE operation transitioned away from me, I still kept the machine in service as an edge server and automated backup machine. That is, until the hard drive failed on reboot one day. Thus, when it was finally time to recycle the computer, I felt it necessary to disassemble the machine and remove the hard drive for possible salvage and then for destruction.

    If you’ve ever attempted to upgrade or otherwise service this style of Mac Mini, you will no doubt recognize the pictured paint scraper tool as standard kit. I have had that tool since I first endeavored to upgrade the RAM to 1 GB from the standard 1/2 GB. Performing such activities on a Mac Mini is tedious, but only if you care about putting it back together afterwards.

    The next machine is a bit older. I put it together nearly a decade ago, early in 2005. This machine’s original duty was “download agent”– this would be more specifically called a BitTorrent machine in modern tech parlance. Back then, I placed it on someone else’s woefully underutilized home broadband connection (with their permission, of course) when I was too cheap to upgrade from dialup.


    VIA small form factor front

    Click for larger image


    This is a small form factor system from VIA that was clearly designed with home theater PC (HTPC) use cases in mind. It has a VIA C3 x86-compatible CPU (according to my notes, Centaur VIA Samuel 2 stepping 03, flags : fpu de tsc msr cx8 mtrr pge mmx 3dnow) and 128 MB of RAM (initially ; I upgraded it to 512 MB some years later, just for the sake of doing it). And then there was the 120 GB PATA HD for all that downloaded goodness.


    VIA machine small form factor inside

    Click for larger image


    I have specific memories of a time when my main computer at home wasn’t working correctly for one reason or another. Instead, I logged into this machine remotely via SSH to make several optimizations and fixes on FFmpeg’s VP3/Theora video decoder, all from the terminal, without being able to see the decoded images with my own eyes (which is why I insist that even blind people could work on video codecs).

    By the time I got my own broadband, I had become inspired to attempt the automated build and test system for FFmpeg. This was the machine I used for prototyping early brainstorms of FATE. By the time I put a basic build/test system into place in early 2008, I had much faster computers that could build and test the project– obvious limitation of this machine is that it could take at least 1/2 hour to build the entire codebase, and that was the project from 8 years ago.

    So the machine got stuffed in a closet somewhere along the line. The next time I pulled it out was in 2010 when I wanted to toy with Dreamcast programming once more (the machine appears in one of the photos in this post). This was the only machine I still owned which still had an RS-232 serial port (I didn’t know much about USB serial converters yet), plus it still had a bunch of pre-compiled DC homebrew binaries (I was having trouble getting the toolchain to work right).

    The next time I dusted off this machine was late last year when I was trying some experiments with the Microsoft Xbox’s IDE drive (a photo in that post also shows the machine ; this thing shows up a lot on this blog). The VIA machine was the only machine I still owned which had 40-pin IDE connectors which was crucial to my experiment.

    At this point, I was trying to make the machine more useful which meant replacing the ancient Gentoo Linux distribution as well as simply interacting with it via a keyboard and mouse. I have a long Evernote entry documenting a comedy of errors revolving around this little box. The interaction troubles were due to the fact that I didn’t have any PS/2 keyboards left and I couldn’t make a USB keyboard work with it. Diego was able to explain that I needed to flip a bit in the BIOS to address this which worked. As for upgrading the OS, I tried numerous Linux distributions large and small, mostly focusing on the small. None worked. I eventually learned that, while I was trying to use i686 distributions, this machine did not actually qualify as an i686 CPU ; installations usually booted but failed because the default kernel required the cmov instruction. I was advised to try i386 distros instead. My notes don’t indicate whether I had any luck on this front before I gave up and moved on.

    I just made the connection that this VIA machine has two 40-pin IDE connectors which means that the thing was technically capable of supporting up to 4 IDE devices. Obviously, the computer couldn’t really accommodate that in terms of space or power. When I wanted to try installing a new OS, I needed take off the top and connect a rather bulky IDE CD-ROM drive. This computer’s casing was supposed to be able to support a slimline optical drive (perhaps like the type found in laptops), but I could never quite visualize how that was supposed to work, space-wise. When I disassembled the PowerPC Mac Mini, I realized I might be able to repurpose that machines optical drive for this computer. Obviously, I thought better of trying since both machines are off to the recycle pile.

    I would still like to work on the Xbox project a bit more, but I procured a different, unused, much more powerful yet still old computer that has a motherboard with 1 PATA connector in addition to 6 SATA connectors. If I ever get around to toying with Linux kernel development, this should be a much more appropriate platform to use.

    I thought about turning this machine into an old Windows XP (and lower, down to Windows 3.1) gaming platform ; the capabilities of the machine would probably be perfect for a huge portion of my Windows game collection. But I think the lack of an optical drive renders this idea intractable. External USB drives are likely out of the question since there is very little chance that this motherboard featured USB 2.0 (the specs don’t mention 2.0, so the USB ports are probably 1.1).

    So it is with fond memories that I send off both machines, sans hard drives, to the recycle pile. I’m still deciding on an appropriate course of action for failed hard drives, though.