Видео Конвертация

Тема в разделе "Как сделать...", создана пользователем Sysfaray, 22 сен 2009.

Статус темы:
Закрыта.
  1. Sysfaray

    Sysfaray Постоялец

    Регистр.:
    7 окт 2007
    Сообщения:
    148
    Симпатии:
    70
    Скрипт Кодировки видео:
    PHP:
    <?php
    define
    ('_VALID'1);
    define('_ENTER'true);
    $basedir    dirname(dirname(__FILE__));
    require 
    $basedir'/include/config.php';
    require 
    $basedir'/include/function_video.php';
    $vdoname    $_SERVER['argv']['1'];
    $vid        $_SERVER['argv']['2'];
    $video_path $_SERVER['argv']['3'];
    if ( 
    $vdoname != '' && $vid != '' && $video_path != '' ) {
        
    $ext                strtolower(substr($vdonamestrrpos($vdoname'.') + 1));
        
    $ofps               = ( $ext == 'wmv' ) ? '-ofps 25000/1001' NULL;
        
    $mencoder_version   '1.0rc1';
        
    exec($config['mencoder'], $mencoder_check);
        if ( isset(
    $mencoder_check['0']) ) {
            if ( !
    strstr($mencoder_check['0'], 'MEncoder 1.0rc1') ) {
                
    $mencoder_version '1.0rc2';
            }
        }
        
    $options            = ( $mencoder_version == '1.0rc1' ) ? '-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames' NULL;
        
    $options            $options' ' .$ofps;
        
    $vf                 = ( $mencoder_version == '1.0rc1' ) ? '-vop' '-vf';
        if ( 
    $config['vresize'] == ) {
            
    $cmd            $config['mencoder']. ' ' .$video_path' -o ' .$config['FLVDO_DIR']. '/' .$vid'x.f4v -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=' .$config['vbitrate']. ':mbd=2:mv0:trell:v4mv:keyint=10:cbp:last_pred=3 ' .$vf' scale=' .$config['vresize_x']. ':' .$config['vresize_y']. ' -srate ' .$config['sbitrate']. ' ' .$options;        
        } else {
            
    $cmd            $config['mencoder']. ' ' .$video_path' -o ' .$config['FLVDO_DIR']. '/' .$vid'x.f4v -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=' .$config['vbitrate']. ':mbd=2:mv0:trell:v4mv:keyint=10:cbp:last_pred=3 -srate ' .$config['sbitrate']. ' ' .$options;        
        }    
        
    log_conversion($config['LOG_DIR']. '/' .$vid'.log'$cmd);
        if ( 
    $config['vresize'] != && $ext == 'f4v' ) {
            
    copy($video_path$config['FLVDO_DIR']. '/' .$vid'x.f4v');
        } else {
            
    exec($cmd' 2>&1'$output);
        }
        
    log_conversion($config['LOG_DIR']. '/' .$vid'.log'implode("\n"$output));
        
    // update f4v meta tags
        
    if ( $config['meta_tool'] == 'f4vtool2' ) {
            
    $cmd $config['metainject']. ' -Uv ' .$config['FLVDO_DIR']. '/' .$vid'x.f4v ' .$config['FLVDO_DIR']. '/' .$vid'.f4v';
        } elseif ( 
    $config['meta_tool'] == 'yamdi' ) {
            
    $cmd $config['yamdi']. ' -i ' .$config['FLVDO_DIR']. '/' .$vid'x.f4v -o ' .$config['FLVDO_DIR']. '/' .$vid'.f4v';
        } else {
            
    log_conversion($config['LOG_DIR']. '/' .$vid'.log''Invalid meta tool..must be yamdi or f4vtool2');
        }
        
    exec($cmd$output);
        
    log_conversion($config['LOG_DIR']. '/' .$vid'.log'implode("\n"$output));
        
    //change permissions to 666 for lighty
        
    @chmod($config['FLVDO_DIR']. '/' .$vid'.f4v'0666);
        
    // delete temporary f4v file
        
    @unlink($config['FLVDO_DIR']. '/' .$vid'x.f4v');
        
    //extract video thumbs
        
    extract_video_thumbs($video_path$vid);
        
    //activate video
        
    if ( file_exists($config['FLVDO_DIR']. '/' .$vid'.f4v') && filesize($config['FLVDO_DIR']. '/' .$vid'.f4v') > 10 ) {
        
    $add NULL;
        if (
    $config['multi_server'] == '1') {
            require 
    $config['BASE_DIR']. '/include/function_server.php';
            
    $server get_server();
            
    update_server_used($server);
            
    upload_video($config['FLVDO_DIR']. '/' .$vid'.f4v'$server['server_ip'], $server['ftp_username'], $server['ftp_password'], $server['ftp_root']);
            
    update_server($server);
            
    $add ", server = '".mysql_real_escape_string($server['url'])."'";
        }
            
    $active = ( $config['approve'] == '1' ) ? '0' '1';
            
    $sql "UPDATE video SET active = '" .$active"'".$add." WHERE VID = " .intval($vid). " LIMIT 1";
            
    $conn->execute($sql);
            @
    unlink($config['TMP_DIR']. '/logs/' .$vid'.log');
        }
        
    //delete original video
        
    if ( $config['del_original_video'] == '1' )  {
            if(
    filesize($config['FLVDO_DIR']. '/' .$vid'.f4v') > 100 && file_exists($config['FLVDO_DIR']. '/' .$vid'.f4v')) {
                
    chmod($video_path0777);
                
    unlink($video_path);
            }
        }
        
    //delete temporary thumb files
        
    for( $i=1$i<=20$i++ ) {
            @
    unlink($config['TMP_DIR']. '/thumbs/' .$vid'/' .$i'.jpg');
        }
        @
    unlink($config['TMP_DIR']. '/thumbs/' .$vid'/default.jpg');
        @
    unlink($config['TMP_DIR']. '/thumbs/' .$vid);
    }
    ?>
    И лог его действий:
    PHP:
    /usr/bin/php /var/www/pornodelic.com/scripts/convert_video.php 295.wmv 295 /var/www/pornodelic.com/media/videos/vid/295.wmv
    /usr/bin/mplayer -quiet -nolirc -vo null -ao null -frames 0 -identify "/var/www/pornodelic.com/media/videos/vid/295.wmv"
    MPlayer 1.0rc1-4.1.2 (C2000-2006 MPlayer Team
    CPU
    Intel(RPentium(RDual  CPU  E2180  2.00GHz (Family6Model15Stepping13)
    CPUflags:  MMX1 MMX21 3DNow0 3DNow20 SSE1 SSE21

    Playing 
    /var/www/pornodelic.com/media/videos/vid/295.wmv.
    ASF file format detected.
    ID_AUDIO_ID=1
    ID_VIDEO_ID
    =2
    VIDEO
    :  [WMV3]  1280x720  24bpp  29.970 fps    0.0 kbps 0.0 kbyte/s)
    ID_FILENAME=/var/www/pornodelic.com/media/videos/vid/295.wmv
    ID_DEMUXER
    =asf
    ID_VIDEO_FORMAT
    =WMV3
    ID_VIDEO_BITRATE
    =0
    ID_VIDEO_WIDTH
    =1280
    ID_VIDEO_HEIGHT
    =720
    ID_VIDEO_FPS
    =29.970
    ID_VIDEO_ASPECT
    =0.0000
    ID_AUDIO_FORMAT
    =353
    ID_AUDIO_BITRATE
    =0
    ID_AUDIO_RATE
    =0
    ID_AUDIO_NCH
    =0
    ID_LENGTH
    =361.00
    ==========================================================================
    Opening video decoder: [dmoDMO video codecs
    Win32 LoadLibrary failed to load
    wmv9dmod.dll, /usr/lib/codecs/wmv9dmod.dll, /usr/lib/win32/wmv9dmod.dll, /usr/local/lib/win32/wmv9dmod.dll
    IMediaObject ERROR
    0x862f63e  could not open DMO DLL (0x0 0)
    Failed to create DMO filter
    You need to upgrade
    /install the binary codecs package.
    Go to http://www.mplayerhq.hu/dload.html
    VDecoder init failed :(
    Opening video decoder: [dmoDMO video codecs
    Win32 LoadLibrary failed to load
    wmvdmod.dll, /usr/lib/codecs/wmvdmod.dll, /usr/lib/win32/wmvdmod.dll, /usr/local/lib/win32/wmvdmod.dll
    IMediaObject ERROR
    0x862f63e  could not open DMO DLL (0x0 0)
    Failed to create DMO filter
    You need to upgrade
    /install the binary codecs package.
    Go to http://www.mplayerhq.hu/dload.html
    VDecoder init failed :(
    Opening video decoder: [ffmpegFFmpeg's libavcodec codec family
    Selected video codec: [ffwmv3] vfm: ffmpeg (FFmpeg M$ WMV3/WMV9)
    ==========================================================================
    ID_VIDEO_CODEC=ffwmv3
    ==========================================================================
    Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
    AUDIO: 44100 Hz, 2 ch, s16le, 96.1 kbit/6.81% (ratio: 12016->176400)
    ID_AUDIO_BITRATE=96128
    ID_AUDIO_RATE=44100
    ID_AUDIO_NCH=2
    Selected audio codec: [ffwmav2] afm: ffmpeg (DivX audio v2 (FFmpeg))
    ==========================================================================
    AO: [null] 44100Hz 2ch s16le (2 bytes per sample)
    ID_AUDIO_CODEC=ffwmav2
    Starting playback...


    Exiting... (End of file)


    Есть идеи что не правильно?
     
  2. g00dwin

    g00dwin

    Регистр.:
    9 ноя 2006
    Сообщения:
    164
    Симпатии:
    68
    Смотри сюда
    Код:
    Win32 LoadLibrary failed to load: wmvdmod.dll, /usr/lib/codecs/wmvdmod.dll, /usr/lib/win32/wmvdmod.dll, /usr/local/lib/win32/wmvdmod.dll
    IMediaObject ERROR: 0x862f63e  could not open DMO DLL (0x0 : 0)
    Failed to create DMO filter
    You need to upgrade/install the binary codecs package.
    Go to Перейти по ссылке
    VDecoder init failed :( 
     
  3. Sysfaray

    Sysfaray Постоялец

    Регистр.:
    7 окт 2007
    Сообщения:
    148
    Симпатии:
    70
    Да я сюда сразу смотрел , проблема не в этом ... Почему то файлы получаются 0 байт
     
  4. g00dwin

    g00dwin

    Регистр.:
    9 ноя 2006
    Сообщения:
    164
    Симпатии:
    68
    Так потому и получаются 0 байт, раз он не может проглотить исходный файл, вот и пишет пустой файл на выходе.
     
  5. omfg

    omfg

    Регистр.:
    4 авг 2009
    Сообщения:
    159
    Симпатии:
    46
    видимо потому что нет dll, не?
     
Статус темы:
Закрыта.