Please hear the "noise" here: http://soundcloud.com/marcosdelponterocha/memo-230
Is there a way to make it stop?
I'm with this config:
Strange noise in silent scenes
Re: Strange noise in silent scenes
I could not play the sound you've attached, but I think I've experienced the same thing.
I did try couple of different transcoding profiles, and found out, that those noises were gone, only when I switched to profile called "Movies - CorePlayer".
That was the solution for me, so I didn't dig any deeper. I'm not sure if this was a problem with transcoder or WMS...
I did try couple of different transcoding profiles, and found out, that those noises were gone, only when I switched to profile called "Movies - CorePlayer".
That was the solution for me, so I didn't dig any deeper. I'm not sure if this was a problem with transcoder or WMS...
Re: Strange noise in silent scenes
sorry, i forgot to set my file to public, now you can play itkrzychol wrote:I could not play the sound you've attached, but I think I've experienced the same thing.
I did try couple of different transcoding profiles, and found out, that those noises were gone, only when I switched to profile called "Movies - CorePlayer".
That was the solution for me, so I didn't dig any deeper. I'm not sure if this was a problem with transcoder or WMS...
i'll try to switch the profile and see what happens, thanks.
Re: Strange noise in silent scenes
Ok, changing from Movies - CoreAVC to Movies CorePlayer worked for the noise, but now i can't play most of mine HD files
Re: Strange noise in silent scenes
Yeap - this is exactly the kind of noise, I had experienced before.
And I know what you're saying about playing HD files - I was thinking about buying CoreAVC to utilize its multi-threading capabilities, but dropped that idea because of that annoying noise when using profile other than CorePlayer (plus I can play 720p files without problem on CorePlayer profile, so that's not that big of an issue for me)
Anyway - back when I was trying to figure out what's causing that noise, I did a test in which I pre-transcoded couple of minutes of a movie using different profiles, saved that pre-transcoded files on a USB-stick and played them directly in the TV.
Now - I don't remember, if the noise was there when playing from USB (can try again later this week), but if it was, I guess this would mean that the problem is somewhere in WMS, its transcoders, or the device settings in WMS (I also own Philips TV)
If you could try and do the same test I did (so that we rule out the TV-set itself) we could then nag Eugene to figure out what is actually causing the noise
And I know what you're saying about playing HD files - I was thinking about buying CoreAVC to utilize its multi-threading capabilities, but dropped that idea because of that annoying noise when using profile other than CorePlayer (plus I can play 720p files without problem on CorePlayer profile, so that's not that big of an issue for me)
Anyway - back when I was trying to figure out what's causing that noise, I did a test in which I pre-transcoded couple of minutes of a movie using different profiles, saved that pre-transcoded files on a USB-stick and played them directly in the TV.
Now - I don't remember, if the noise was there when playing from USB (can try again later this week), but if it was, I guess this would mean that the problem is somewhere in WMS, its transcoders, or the device settings in WMS (I also own Philips TV)
If you could try and do the same test I did (so that we rule out the TV-set itself) we could then nag Eugene to figure out what is actually causing the noise
Re: Strange noise in silent scenes
I think one example of a problem file and transcoding parameters, there would be very helpful.
Re: Strange noise in silent scenes
example of a problem file: http://www.mediafire.com/?cj3bain3y204nciEugene wrote:I think one example of a problem file and transcoding parameters, there would be very helpful.
not sure about transcoding parameters. as it happen with Movies - CoreAVC, i've copied the transcoding parameters i found there.
if it's not what you want, tell me how to get them.
Code: Select all
const
csInputParams = '-f rawvideo -vcodec rawvideo -pix_fmt yuv420p -s %dx%d -r %s -i "%s"%s -i "%s"';
clsidMpcAviSource = '{CEA8DEFF-0AF7-4DB9-9A38-FB3C3AEFC0DE}'; // MPC - Avi Source
clsidMpcAviSplitter = '{9736D831-9D6C-4E72-B6E7-560EF9181001}'; // MPC - Avi Splitter
clsidMpcFlvSource = '{C9ECE7B3-1D8E-41F5-9F24-B255DF16C087}'; // MPC - FLV Source (Gabest)
clsidMpcFlvSplitter = '{47E792CF-0BBE-4F7A-859C-194B0768650A}'; // MPC - FLV Splitter (Gabest)
clsidMpcMkvSource = '{0A68C3B5-9164-4A54-AFAF-995B2FF0E0D4}'; // MPC - Matroska Source
clsidMpcMkvSplitter = '{149D2E01-C32E-4939-80F6-C07B81015A7A}'; // MPC - Matroska Splitter
clsidMpcMp4Source = '{3CCC052E-BDEE-408A-BEA7-90914EF2964B}'; // MPC - MP4 Source
clsidMpcMp4Splitter = '{61F47056-E400-43D3-AF1E-AB7DFFD4C4AD}'; // MPC - MP4 Splitter
clsidMpcMpgSource = '{1365BE7A-C86A-473C-9A41-C0A6E82C9FA3}'; // MPC - Mpeg Source (Gabest)
clsidMpcMpgSplitter = '{DC257063-045F-4BE2-BD5B-E12279C464F0}'; // MPC - Mpeg Splitter (Gabest)
MEDIASUBTYPE_DOLBY_AC3 = '{E06D802C-DB46-11CF-B4D1-00805F6CBBEA}';
function GetFilterParams(const aFileFormat: string; const aFilterParams: Variant;
aSplitter: Boolean; var aFilterFileName, aFilterCLSID: string): Boolean;
var
FilterParams: Variant;
i: Integer;
begin
Result := True;
for i := 0 to Length(aFilterParams) - 1 do begin
FilterParams := aFilterParams[i];
if Pos(FilterParams[0], aFileFormat) > 0 then begin
aFilterFileName := FilterParams[1];
if aSplitter then
aFilterCLSID := FilterParams[2]
else
aFilterCLSID := FilterParams[3];
Exit
end
end;
Result := False
end;
function CheckResult(aResult: Integer; aRaiseException: Boolean = True): Boolean;
begin
Result := aResult = S_OK;
if not Result and aRaiseException then
RaiseException(Format('Error (code: %x) - %s', [aResult, SysErrorMessage(aResult)]))
end;
var
bCreateAudioPipe, bHaali, bSplitter, bSuccess: Boolean;
sAudioFormat, sCodecTag, sInputParams,
sAudioMediaMajorType, sAudioMediaSubType,
sFilterFileName, sFilterCLSID: string;
sVideoMediaMajorType, sVideoMediaSubType,
sReadVideoPipeName, sWriteVideoPipeName,
sReadAudioPipeName, sWriteAudioPipeName,
sTranscodingParams, sAudioPinName, sVideoPinName: string;
iAudioStreamNo, iAudioChannels1, iAudioChannels2, iAudioSampleRate, iAudioFormatTag,
iVideoWidth, iVideoHeight, iVideoCompression: Integer;
vCurrentPosition: Variant;
begin
TranscodingResult := False;
bSplitter := mpIsoItem or mpDvdItem or mpBdItem;
if bSplitter and not CheckResult(WmsDirectShowAddResourceSource('ResourceSource')) then
Exit;
if GetFilterParams(mpFileType,
[['avi', 'AviSplitter.ax', clsidMpcAviSplitter, clsidMpcAviSource],
['flv', 'FlvSplitter.ax', clsidMpcFlvSplitter, clsidMpcFlvSource],
['matroska', 'MatroskaSplitter.ax', clsidMpcMkvSplitter, clsidMpcMkvSource],
['mp4', 'MP4Splitter.ax', clsidMpcMp4Splitter, clsidMpcMp4Source],
['mpeg', 'MpegSplitter.ax', clsidMpcMpgSplitter, clsidMpcMpgSource]],
bSplitter, sFilterFileName, sFilterCLSID) then begin
bSuccess := CheckResult(WmsDirectShowLoadFilter('Filters\' + sFilterFileName, sFilterCLSID, 'Source'));
if bSuccess then begin
if bSplitter then
bSuccess := CheckResult(WmsDirectShowConnectPin('ResourceSource', 'Source', 'Output', 'Input'), False)
else
bSuccess := CheckResult(WmsDirectShowSetFileName('Source', InputFileName), False);
if not bSuccess then
WmsDirectShowRemoveFilter('Source')
end
end else
bSuccess := False;
bHaali := False;
if not bSuccess then begin
if bSplitter then
bSuccess := CheckResult(WmsDirectShowAddFilter('Haali Media Splitter (AR)', 'Source')) and
CheckResult(WmsDirectShowConnectPin('ResourceSource', 'Source', 'Output', 'Input'))
else
bSuccess := CheckResult(WmsDirectShowAddFilter('Haali Media Splitter', 'Source')) and
CheckResult(WmsDirectShowSetFileName('Source', InputFileName));
if bSuccess then bHaali := True
end;
iAudioStreamNo := mpAudioStreamNo;
if iAudioStreamNo = -1 then
iAudioStreamNo := 0;
if bHaali or SameText(mpFileType, 'flv') then begin
sVideoPinName := 'Video';
sAudioPinName := 'Audio';
WmsDirectShowSelectStream('Source', iAudioStreamNo, MEDIATYPE_Audio, WmsGetStreamID(stAudio, iAudioStreamNo));
end else begin
WmsDirectShowGetPinName('Source', PINDIR_OUTPUT, sVideoPinName, MEDIATYPE_Video, 0);
if not CheckResult(WmsDirectShowSelectStream('Source', iAudioStreamNo, MEDIATYPE_Audio, WmsGetStreamID(stAudio, iAudioStreamNo)), False) then
WmsDirectShowGetPinName('Source', PINDIR_OUTPUT, sAudioPinName, MEDIATYPE_Audio, 0)
else
WmsDirectShowGetPinName('Source', PINDIR_OUTPUT, sAudioPinName, MEDIATYPE_Audio, iAudioStreamNo);
end;
if not CheckResult(WmsDirectShowGetMediaType('Source', PINDIR_OUTPUT, sAudioPinName,
sAudioMediaMajorType, sAudioMediaSubType, iAudioChannels1, iAudioSampleRate, iAudioFormatTag)) then
Exit;
if sAudioMediaSubType = MEDIASUBTYPE_WAVE_DTS then
sAudioFormat := 'dts'
else if sAudioMediaSubType = MEDIASUBTYPE_WAVE_DOLBY_AC3 then
sAudioFormat := 'ac3'
else if sAudioMediaSubType = MEDIASUBTYPE_DOLBY_AC3 then
sAudioFormat := 'truehd'
else if sAudioMediaSubType = MEDIASUBTYPE_AAC then
sAudioFormat := 'aac'
else if sAudioMediaSubType = MEDIASUBTYPE_MP3 then
sAudioFormat := 'mp3'
else
sAudioFormat := '';
if mpTimeStart <> '' then begin
vCurrentPosition := WmsTimeConvert(mpTimeStart) * 10000000;
if not CheckResult(WmsDirectShowSetPosition('Source', TIME_FORMAT_MEDIA_TIME, vCurrentPosition)) then
Exit;
end;
// if not CheckResult(WmsDirectShowAddFilter('CyberLink H.264/AVC Decoder (TechnoTrend)', 'Video Decoder')) then
if not CheckResult(WmsDirectShowAddFilter('CoreAVC Video Decoder', 'Video Decoder'), False) and
not CheckResult(WmsDirectShowAddFilter('Microsoft DTV-DVD Video Decoder', 'Video Decoder')) then
Exit;
if not CheckResult(WmsDirectShowConnectPin('Source', 'Video Decoder', sVideoPinName, '')) then
Exit;
// WmsDirectShowProperties('Video Decoder');
bCreateAudioPipe := True;
if MatchText(sAudioFormat, ['aac', 'truehd']) then begin
bCreateAudioPipe := False;
if CheckResult(WmsDirectShowAddFilter('ffdshow Audio Decoder', 'Audio Decoder'), False) then begin
if CheckResult(WmsDirectShowConnectPin('Source', 'Audio Decoder', sAudioPinName, ''), False) then
bCreateAudioPipe := True
else
WmsDirectShowRemoveFilter('Audio Decoder')
end
// WmsDirectShowProperties('Audio Decoder');
end;
if WmsCreateDualPipe(sReadVideoPipeName, sWriteVideoPipeName, 10000000) and
(not bCreateAudioPipe or WmsCreateDualPipe(sReadAudioPipeName, sWriteAudioPipeName, 10000000)) then begin
if not CheckResult(WmsDirectShowAddDump(sWriteVideoPipeName, 'DumpVideo')) then
Exit;
if not CheckResult(WmsDirectShowConnectPin('Video Decoder', 'DumpVideo', '', '', MEDIATYPE_Video, MEDIASUBTYPE_I420)) then
Exit;
if bCreateAudioPipe then begin
if not CheckResult(WmsDirectShowAddDump(sWriteAudioPipeName, 'DumpAudio')) then
Exit;
if MatchText(sAudioFormat, ['aac', 'truehd']) then begin
if not CheckResult(WmsDirectShowConnectPin('Audio Decoder', 'DumpAudio', 'Out', '',
MEDIATYPE_Audio, KSDATAFORMAT_SUBTYPE_PCM)) then
Exit;
if not CheckResult(WmsDirectShowGetMediaType('Audio Decoder', PINDIR_OUTPUT, 'Out',
sAudioMediaMajorType, sAudioMediaSubType, iAudioChannels2,
iAudioSampleRate, iAudioFormatTag)) then
Exit;
sAudioFormat := Format(' -f s16le -ar %d -ac %d', [iAudioSampleRate, iAudioChannels2])
end else begin
if not CheckResult(WmsDirectShowConnectPin('Source', 'DumpAudio', sAudioPinName, '')) then
Exit;
if sAudioFormat <> '' then
sAudioFormat := ' -f ' + sAudioFormat;
end
end else begin
sReadAudioPipeName := InputFileName;
sAudioFormat := ''
end;
if not CheckResult(WmsDirectShowGetMediaType('DumpVideo', PINDIR_INPUT, '',
sVideoMediaMajorType, sVideoMediaSubType, iVideoWidth, iVideoHeight, iVideoCompression)) then
Exit;
WmsDirectShowGetFrameRate('DumpVideo', PINDIR_INPUT, '', mpFrameRate);
if CheckResult(WmsDirectShowPlay) then begin
sInputParams := Format(csInputParams, [iVideoWidth, iVideoHeight,
ReplaceStr(FormatFloat('0.###', mpFrameRate), ',', '.'),
sReadVideoPipeName, sAudioFormat, sReadAudioPipeName]);
if mpTimeStart <> '' then
sInputParams := '-ts ' + mpTimeStart + ' -muxpreload ' + IntToStr(WmsTimeConvert(mpTimeStart)) + ' ' + sInputParams;
sTranscodingParams := sInputParams + WmsTranscodingVideoParams(0, 0, 0, 0, True, False) +
' "' + OutputFileName + '"';
// ShowMessage(sTranscodingParams);
TranscodingResult := WmsTranscodingExecute('WMSMPEG', sTranscodingParams)
end
end
end.
Re: Strange noise in silent scenes
Thanks, I made "Test transcoding" with "Movies - CoreAVC" and I have no problems with sound. Probably the problem in "ffdshow Audio Decoder" settings.