Support transcoding matching for fourcc (AVI) codes

Issue #567 resolved
Former user created an issue

Is it possible to get vCodec="DX50" supported, as AVI files encoded using DX50 cannot be transcoded currently using the profile.xml config. you must transcode ALL AVI files to select this file type which is overkill.

XBOX360 does not support DX50 at this time, and transcoding is required.

Is there any way to set up serviio to accept any information in the vCodec field instead of checking against a pre-defined list (to where you can set vCodec="" to whatever ffmpeg reports as the codec for the file)? or is this required for some fancy internal stuff?

Comments (11)

  1. Former user Account Deleted

    ffmpeg -i output:

    ffmpeg version git-2012-05-19-d1384c0 Copyright (c) 2000-2012 the FFmpeg developers
      built on May 19 2012 19:12:47 with gcc 4.5.2
      configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-x11grab
      libavutil      51. 53.100 / 51. 53.100
      libavcodec     54. 21.101 / 54. 21.101
      libavformat    54.  5.100 / 54.  5.100
      libavdevice    53.  4.100 / 53.  4.100
      libavfilter     2. 75.100 /  2. 75.100
      libswscale      2.  1.100 /  2.  1.100
      libswresample   0. 15.100 /  0. 15.100
      libpostproc    52.  0.100 / 52.  0.100
    Input #0, avi, from '[S04][E01][Scrubs] My Overkill.avi':
      Duration: 00:24:00.23, start: 0.000000, bitrate: 1107 kb/s
        Stream #0:0: Video: mpeg4 (DX50 / 0x30355844), yuv420p, 512x384 [SAR 1:1 DAR 4:3], 30 fps, 30 tbr, 30 tbn, 30k tbc
        Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16, 320 kb/s
    
  2. patters

    Ideally it might be better to be able to match on the FourCC code inside the AVI (using something like vCodec="AVI,DX50") which could help for newer Sony 2012 firmwares which natively play Xvid but not DivX.

  3. Petr Nejedly repo owner

    It probably won't be vCdec matching (still mpeg4), but fourCC code, similar to isom

  4. Former user Account Deleted

    Not extremely knowledgeable on this, but whatever solution works that you find to be the best implementation.

  5. Petr Nejedly repo owner

    So I have one AVI with DX50 and it plays without transcoding on the XBox.

    [mpeg4 @ 003ECAC0] Invalid and inefficient vfw-avi packed B frames detected
    Input #0, avi, from 'Il y a longtemps que je t'aime\Il Y A Longtemps Que JeT'Aime.avi':
      Duration: 01:52:26.00, start: 0.000000, bitrate: 860 kb/s
        Stream #0:0: Video: mpeg4 (DX50 / 0x30355844), yuv420p, 608x298 [SAR 1:1 DAR 304:149], 25 fps, 25 tbr, 25 tbn, 30k tbc
        Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 24000 Hz, stereo, s16, 56 kb/s
    

    Do you have more dx50 files that don't play?

  6. Petr Nejedly repo owner

    The matcher has been implemented (using vFourCC Matches attribute, supporting comma-separated list of fourcc values).

    It's to be decided how to update current profiles during the beta testing.

  7. Former user Account Deleted

    Has this actually been implemented? I can hardly find any documentation or examples at all on vFourCC. I have files that are detected as DX50 with ffmpeg, but when I attempt to target them, they do not transcode. Am I doing something wrong?

    Transcodes :<Matches container="avi" vCodec="mpeg4" /> Doesn't transcode: <Matches container="avi" vCodec="mpeg4" vFourCC="DX50" />

  8. Former user Account Deleted

    Ahh, I figured it out. The FourCC codes have to be all lowercase without spaces in the CSV list. It may be helpful to add that to the wiki for the vFourCC section since FourCC codes are normally written in caps, and that is the way ff-mpeg displays them as well.

  9. Log in to comment