GPU transcode?

Post Reply
boeonoz
Posts: 2
Joined: Sun Apr 04, 2010 10:20 pm

GPU transcode?

Post by boeonoz »

Can it use GPU to transcode? I have ATI 5800 series, it can easily transcode 1080p video.

But Wild server always use CPU to transcode with my Q6600, it cannot transcode 1080p. It barely reach 21 fps and always have to stop during watching.
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: GPU transcode?

Post by Eugene »

boeonoz wrote:Can it use GPU to transcode? I have ATI 5800 series, it can easily transcode 1080p video.

But Wild server always use CPU to transcode with my Q6600, it cannot transcode 1080p. It barely reach 21 fps and always have to stop during watching.
ATI codecs are slower FFMPEG
boeonoz
Posts: 2
Joined: Sun Apr 04, 2010 10:20 pm

Re: GPU transcode?

Post by boeonoz »

you are wrong!!

If compare Q6600 CPU transcode and ATI 5850 GPU Video transcode.


ATI have internal hardware based H.264/VC-1 decoding sure it must be faster if WMS transcode to it.
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: GPU transcode?

Post by Eugene »

boeonoz wrote:you are wrong!!

If compare Q6600 CPU transcode and ATI 5850 GPU Video transcode.


ATI have internal hardware based H.264/VC-1 decoding sure it must be faster if WMS transcode to it.
You can try ATI software for transcode to 1920x1080 frame size.
grolschie
Posts: 35
Joined: Mon Jun 14, 2010 10:26 pm

Re: GPU transcode?

Post by grolschie »

The new release candidate of VLC lists "GPU and DSP decoding, depending on the platform" as a new feature:

http://www.videolan.org/vlc/releases/1.1.0-RC.html

EDIT: I installed it, but I don't think WMS 1.0.3 works with VLC 1.1.0-RC presenty. I have uninstalled VLC 1.1.0-RC and will reinstall VLC 1.0.5 for now.
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: GPU transcode?

Post by Eugene »

grolschie wrote:The new release candidate of VLC lists "GPU and DSP decoding, depending on the platform" as a new feature:

http://www.videolan.org/vlc/releases/1.1.0-RC.html

EDIT: I installed it, but I don't think WMS 1.0.3 works with VLC 1.1.0-RC presenty. I have uninstalled VLC 1.1.0-RC and will reinstall VLC 1.0.5 for now.
Thanks for info, I will check http://www.videolan.org/vlc/releases/1.1.0-RC.html
There are examples of problematic links ?
grolschie
Posts: 35
Joined: Mon Jun 14, 2010 10:26 pm

Re: GPU transcode?

Post by grolschie »

Hi there. I couldn't play any internet tv or radio links that used the new VLC for some reason. I tried a normal mp3 radio stream which was fine, another wasn't though. Using vlc to transcode .m4a files into .mp3 was ok.
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: GPU transcode?

Post by Eugene »

grolschie wrote:The new release candidate of VLC lists "GPU and DSP decoding, depending on the platform" as a new feature:

http://www.videolan.org/vlc/releases/1.1.0-RC.html

EDIT: I installed it, but I don't think WMS 1.0.3 works with VLC 1.1.0-RC presenty. I have uninstalled VLC 1.1.0-RC and will reinstall VLC 1.0.5 for now.
Temporary fix: Settings-Transcoder-Profiles-"Internet-television"-Edit:

Transcoder: VLC
Transcoding parameters:

Code: Select all

function GetAudioCodec(const aFileFormat: string): string;
begin
  if SameText(aFileFormat, 'ASF (Windows Media Format)') then
    Result := 'wma2'
  else
    Result := 'mpga'
end;

function GetFileFormat(const aFileFormat: string): string;
begin
  if SameText(aFileFormat, 'ASF (Windows Media Format)') then
    Result := 'asf'
  else if SameText(aFileFormat, 'MPEGTS (MPEG Transport Stream)') then
    Result := 'ts'    
  else if Pos('SONY', UpperCase(cfgDeviceType)) > 0 then
    Result := 'ps'
  else  
    Result := 'mpeg1'
end;

function GetVideoCodec(const aFileFormat: string): string;
begin
  if SameText(aFileFormat, 'ASF (Windows Media Format)') then
    Result := 'wmv2'
  else
    Result := 'mp2v'  
end;

const
  csVideoLanParams =
    '-Idummy --language=en --sout=#transcode' +
    '{vcodec=%s,vb=%d,fps=%s,scale=1%s,acodec=%s,ab=%d,channels=2,' +
    'samplerate=48000%s}:duplicate{dst=std{access=file,mux=%s,dst="<OUTPUT FILE>"}}' +
    ' "<INPUT FILE>"'; //  vlc:quit
    
var 
  i, iWidth, iHeight, iAspectWidth, iAspectHeight: Integer;
  sCanvasParams, sFrameRate, sDeinterlace: string;  
begin
  if WmsGetVideoSettings(vstDeinterlace) = 'on' then 
    sDeinterlace := ',deinterlace'
  else
    sDeinterlace := '';
  if mpInternetItem then
    sFrameRate := '24'
  else if cfgTranscodingFrameRate <> '' then                                      
    sFrameRate := cfgTranscodingFrameRate
  else if mpFrameRate > 0 then
    sFrameRate := FormatFloat('0.000', mpFrameRate)
  else
    sFrameRate := '25';
  if SameFloat(sFrameRate, '23.976') then
    sFrameRate := '24'
  else if SameFloat(sFrameRate, '29.970') then
    sFrameRate := '30'
  else if SameFloat(sFrameRate, '59.940') then
    sFrameRate := '60';    
  iWidth := mpWidth;     
  if iWidth > 0 then begin                         
    i := Pos(':', cfgTranscodingScreenFormat);
    if i > 0 then begin
      iAspectWidth  := StrToIntDef(Copy(cfgTranscodingScreenFormat, 1, i - 1), 16);
      iAspectHeight := StrToIntDef(Copy(cfgTranscodingScreenFormat, i + 1, 10), 9);      
    end else begin         
      iAspectWidth  := 16;
      iAspectHeight := 9      
    end;
    if iWidth > cfgTranscodingScreenWidth then
      iWidth := cfgTranscodingScreenWidth;
    if iWidth > 1280 then    
      iWidth := 1280;
    iHeight := Round((iWidth / iAspectWidth) * iAspectHeight);
    if iHeight mod 2 <> 0 then
      Inc(iHeight); 
    sCanvasParams := Format(',vfilter={canvas{width=%d,height=%d,aspect=%s}}', [iWidth, iHeight, cfgTranscodingScreenFormat]);
  end else
    sCanvasParams := '';                                                             
  TranscodingParams := Format(csVideoLanParams, 
                               [GetVideoCodec(cfgTranscodingFileFormat),
                                Min(cfgTranscodingVideoBitrate div 1000, 12000), sFrameRate,
                                sCanvasParams, 
                                GetAudioCodec(cfgTranscodingFileFormat),
                                Min(cfgTranscodingAudioBitrate div 1000, 192),
                                sDeinterlace, GetFileFormat(cfgTranscodingFileFormat)])
end.
grolschie
Posts: 35
Joined: Mon Jun 14, 2010 10:26 pm

Re: GPU transcode?

Post by grolschie »

Thanks for such a quick response. I tried the code, but it did not work. The usual error about file unsupported or corrupt (or whatever it says) error when playing internet television. I am happy to revert to VLC 1.0.5. The new VLC is a release candidate, not the full release. Many thanks. :-)
Post Reply