MKV script transcoding for PS3

andreyua
2008-05-04
2013-05-30
  • andreyua
    andreyua
    2008-05-04

    Если возможно, можете написать скрипт транскодинга MKV файлов для Playstation 3.
    Я пользовался этим:
    <profile name="vlcmpeg" enabled="yes" type="external">
            <mimetype>video/mpeg</mimetype>
            <accept-url>yes</accept-url>
            <first-resource>yes</first-resource>
            <accept-ogg-theora>yes</accept-ogg-theora>
            <agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/>
    <buffer size="14400000" chunk-size="512000" fill-size="120000"/>
    </profile>

    и вот что в логе пишет:
    [00000277] dummy interface: using the dummy interface module...
    [00000296] mux_ps private: Open
    [00000336] ffmpeg encoder error: cannot open encoder
    [00000289] stream_out_transcode private error: cannot find encoder (ffmpeg)
    [00000329] a52 packetizer: A/52 channels:6 samplerate:48000 bitrate:448000
    No accelerated IMDCT transform found
    [00000355] a52 decoder: A/52 channels:6 samplerate:48000 bitrate:448000

    Использовался вот такой файл:
    Video: MPEG4 Video (H264) 1280x720 23.98fps [Video]
    Audio: Dolby AC3 48000Hz 6ch [Audio]
    Subtitle: Advanced SubStation Alpha [Subtitle]

     
    • Jin
      Jin
      2008-05-04

      По видимому проблема здесь в твоей версии VLC:
      [00000336] ffmpeg encoder error: cannot open encoder
      [00000289] stream_out_transcode private error: cannot find encoder (ffmpeg)

      Попробуй задать:
      vlc -l

      В моей версии ffmpeg имеется, я на 7ой Федоре.
        ffmpeg                FFmpeg audio/video decoder/encoder ((MS)MPEG4,SVQ1,H263,WMV,WMA)
        ffmpeg                FFmpeg chroma conversion
        ffmpeg                FFmpeg audio/video encoder
        ffmpeg                FFmpeg demuxer
        ffmpeg                FFmpeg muxer
        ffmpeg                FFmpeg video filter
        ffmpeg                FFmpeg crop padd filter
        ffmpeg                FFmpeg deinterlace video filter

      К сожалению у меня нет MKV файлов и также нету PS3, к тому же я не сильно разбираюсь в различных параметрах к VLC, так что ничего конкретного не могу посоветовать. Попробуй собрать версию VLC с поддержкой ffmpeg, и также не помешало бы взять bitrate повыше (изменить этот параметр "vb=4096") и поставить samplerate на 48000. Неплохо было бы также просто скопировать аудио стрим не конвертируя его, помоему такая опция у VLC тоже есть.

      Думаю, что подходящие настройки к VLC скорее всего можно будет найти либо на их форумах, либо на форумах к PS3.

      Сергей

       
    • andreyua
      andreyua
      2008-05-04

      AVI файлы транскодируются:
      [00000277] dummy interface: using the dummy interface module...
      [00000296] mux_ps private: Open
      2008-05-04 19:48:53    INFO: Arguments: -I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit
      VLC media player 0.8.6e Janus
      starting VLC root wrapper... using UID 0 (root)

      Ffmpeg имеется:
      FFmpeg version SVN-r10657, Copyright (c) 2000-2007 Fabrice Bellard, et al.
        configuration: --cc=cc --prefix=/usr/local --make=gmake --disable-debug --enable-memalign-hack --enable-shared --enable-pp --extra-cflags=-I/usr/local/include/vorbis -I/usr/local/include --extra-ldflags=-L/usr/local/lib -la52 --extra-libs=-pthread --enable-gpl --enable-pthreads --mandir=/usr/local/man --enable-liba52 --enable-liba52bin --enable-libfaad --enable-libfaadbin --disable-mmx --enable-libogg --disable-ffplay --enable-libtheora --enable-libvorbis --enable-libx264
        libavutil version: 49.5.0
        libavcodec version: 51.44.0
        libavformat version: 51.14.0
        built on Mar 13 2008 21:54:02, gcc: 3.4.6 [FreeBSD] 20060305

      Я не знаю задействуется ли ffmpeg при транскодировании AVI файлов ?

      Параметр -l где именно задавать ?
      Может так ?
      <agent command="vlc" arguments="-l -I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit"/>
      Может так ?

      Я недавно столкнулся с Freebsd и с Mediatomb в частности, так что извиняйте за глупые вопросы, если что ...

       
    • Jin
      Jin
      2008-05-04

      Про -l я имел ввиду просто в терминале:

      vlc -l

      Вообще тестировать и отрабатывать параметры проще не через MediaTomb а в терминале, в документации к транскодингу описан метод тестирования через FIFO:
      http://mediatomb.cc/pages/transcoding#id2487774

      Про ffmpeg: хороший вопрос, я бы попробовал разные варианты VLC через графическую оболочку, у них есть Wizard который помогает найти подходящии настройки и он также выписывает параметры, которые потом можно использовать как command line опции, например в наших transcoding profiles.