Добрый вечер всем.
Прежде всего спасибо большое создателям HMS.
Прочитал все ветки по IPTV и так не решил свою проблему.
Максимально похожа моя ситуация на то, что происходит у SPavel_74.
Конкретно:
HMS 1.09
KDL 37V5500
WIN XP
VLC 0.8.6i
Две сетевые карты. С одной через VPN поднят интернет (VPN расшарен), вторая работает в сети 192.168.0. с телевизором.
Открытый юникаст:
http://media.itl.ua:4501/udp/233.61.10.11:1234/
Профиль транскодирования: Интернет телевидение с вариантами транскодеров практически всех что упоминались тут на форуме.
Наилучший на мой взгляд результат, получил с транскодером HMSMPEG
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
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 =
'"<VLC>" -Idummy --language=en --sout-ffmpeg-strict-rc --sout=#transcode' +
'{vcodec=%s,vb=%d,fps=%s,width=%d,height=%d,scale=1,%saspect=%s,acodec=%s,ab=%d,channels=2,' +
'samplerate=44100%s}:duplicate{dst=std{access=file,mux=%s,dst="<OUTPUT FILE>"}}' +
' "<INPUT FILE>"'; // vlc:quit
var
bVLC098: Boolean;
iPadLeft, iPadTop, iPadRight, iPadBottom, iScreenWidth, iScreenHeight, iWidth, iHeight: Integer;
sPadFormat, sFrameRate, sPadParams, sDeinterlace: string;
begin
bVLC098 := HmsVlcVersion >= '0.9.8';
iScreenWidth := Min(cfgTranscodingScreenWidth, 640);
iScreenHeight := Min(cfgTranscodingScreenHeight, 360);
sPadParams := ''; iWidth := mpWidth; iHeight := mpHeight;
if HmsGetVideoSettings(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';
if (iWidth > 0) and (iHeight > 0) then begin
if HmsTranscodingFrameParams(iWidth, iHeight, cfgTranscodingScreenFormat,
iPadLeft, iPadTop, iPadRight, iPadBottom) then begin
if (iPadLeft > 0) or (iPadRight > 0) or (iPadTop > 0) or (iPadBottom > 0) then begin
if bVLC098 then
sPadFormat := 'vfilter=croppadd{paddleft=%d,paddright=%d,paddtop=%d,paddbottom=%d},'
else
sPadFormat := 'paddleft=%d,paddright=%d,paddtop=%d,paddbottom=%d,';
sPadParams := Format(sPadFormat, [iPadLeft, iPadRight, iPadTop, iPadBottom]);
iScreenWidth := iScreenWidth - iPadLeft - iPadRight;
iScreenHeight := iScreenHeight - iPadTop - iPadBottom;
end
end
end;
TranscodingParams := Format(csVideoLanParams,
[GetVideoCodec(cfgTranscodingFileFormat),
cfgTranscodingVideoBitrate div 1000, sFrameRate,
iScreenWidth, iScreenHeight,
sPadParams, cfgTranscodingScreenFormat,
GetAudioCodec(cfgTranscodingFileFormat),
Min(cfgTranscodingAudioBitrate div 1000, 192),
sDeinterlace, GetFileFormat(cfgTranscodingFileFormat)])
end.
Менял samplerate=44100, iScreenWidth := Min(cfgTranscodingScreenWidth, 640), iScreenHeight := Min(cfgTranscodingScreenHeight, 360); с разными вариантами.
На экране значек PLAY, черный экран, и нет звука.
Файлы MPG с тестового транскодирования через флешку смотрю прелестно.
Внимание вопрос?

Что не так?