<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Неофициальный форум DLNA Home Media Server &mdash; Настройки программы]]></title>
	<link rel="self" href="https://hms.lostcut.net/extern.php?action=feed&amp;tid=145&amp;type=atom" />
	<updated>2016-01-13T14:53:10Z</updated>
	<generator>PunBB</generator>
	<id>https://hms.lostcut.net/viewtopic.php?id=145</id>
		<entry>
			<title type="html"><![CDATA[Re: Настройки программы]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=2983#p2983" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>tim128 пишет:</cite><blockquote><p>Если я правильно вас понял, настройки кадра для устройства программе по-барабану, но могут быть использованы профилем транскодирования. Некоторые профили его используют, некоторые нет (например, из-за невозможности получить свойства исходного потока и просто лени автора профиля). Так?</p><p>Теперь, чтобы разработчик профиля мог правильно сформировать параметры выходного потока, ему нужно получить настройки кадра для устройства, на котором будет воспроизводиться контент. Как мы уже разобрались выше, функции HmsTranscodingVideoParams и HmsTranscodingDVDParams эти настройки не возвращают. Так как их получить?</p></blockquote></div><p>Поняли вы правильно.<br />Но по второму вопросу хочется уточнить, какие именно параметры вас интересуют?<br />Разработчик профиля пишет код профиля, где он этими функциями не пользуется. Как раз в коде профиля ему нужно сформировать строку параметров или обеспечить сам запуск транскодирования. Т.е. именно в профиле формируются данные, которые возвращают функции HmsTranscodingVideoParams и проч.<br />Для формирования параметров в профиле и получения данных о настройках устройства используются другие функции и встроенные переменные. Например, все переменные, начинающиеся на cfg: cfgTranscodingScreenHeight, cfgTranscodingScreenWidth... Эти переменные уже содержат значения настроек.</p><p>А функция HmsTranscodingVideoParams может быть использована для получения параметров, которые сформирует профиль, например, в скрипте получения ссылки на поток.<br />Вот проверьте. Встаньте на ссылку какого-нибудь подкаста, который использует стандартный профиль типа &quot;Фильмы (Основной)&quot;, зайдите в скрипт формирования ссылки Alt+4 и там нажмите F8 (начало отладки). Потом нажмите кнопку внизу &quot;Вычислить выражение&quot; и вставьте туда: HmsTranscodingVideoParams.<br />Вы увидите примерно такую строку, которая приводилась выше (без указания параметров ширины и высоты и проч).</p><p>А потом, выйдя из скрипта на этой ссылке выберите &quot;Загрузить свойства файлов&quot;, чтобы в информации о видео появилась информация о дорожках и проч.<br />И после этого опять проделайте заход в скрипт получения ссылки и во время отладки посмотрите что возвращает функция HmsTranscodingVideoParams.<br />Вы можете увидеть как строка параметров стала сложнее. Например, там может появиться вот это:<br /></p><div class="codebox"><pre><code>-vf &quot;scale=1920:1040,pad=1920:1080:0:20:0x000000,setdar=16:9&quot;</code></pre></div><p>Это дополнительные параметры, указывающие транскодеру увеличить размер кадра до 1920x1040 и дополнить до размера 1920x1080 цветом 0x000000.<br />Почему scale говорит увеличить именно до 1920:1040? А затем, чтобы не исказить картинку и увеличить только до ближайшего значения ширины и высоты - чтобы увеличение произошло пропорционально. Недостающую высоту (1040 &lt; 1080) дополняем указав pad=....<br />Так вот. Чтобы сформировать подобную строку программе (точнее в профиле), естественно нужно знать как исходный размер кадра видео, так и размер кадра нашего устройства (который и прописан в настройках).</p>]]></content>
			<author>
				<name><![CDATA[WendyH]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=2</uri>
			</author>
			<updated>2016-01-13T14:53:10Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=2983#p2983</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Настройки программы]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=2982#p2982" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>WendyH пишет:</cite><blockquote><p>Чтобы правильно изменить разрешение указав нужные параметры, нужно программе знать свойства файла и размер кадра в этом файле (потоке). Программа не знает, что у видео размер 1920х1200, пока заранее не считает его свойства. Для интернет ссылок, типа подкастов и ссылок интернет телевидения программа автоматом не считывает свойства. И отдаёт потоки с тем размером кадра, который у них есть.</p><p>Конечно, всё делают профили транскодирования (формируют параметры). В некоторых стоит принудительное считывание свойств и выставление параметров масштабирования.</p></blockquote></div><p>Если я правильно вас понял, настройки кадра для устройства программе по-барабану, но могут быть использованы профилем транскодирования. Некоторые профили его используют, некоторые нет (например, из-за невозможности получить свойства исходного потока и просто лени автора профиля). Так?</p><p>Теперь, чтобы разработчик профиля мог правильно сформировать параметры выходного потока, ему нужно получить настройки кадра для устройства, на котором будет воспроизводиться контент. Как мы уже разобрались выше, функции HmsTranscodingVideoParams и HmsTranscodingDVDParams эти настройки не возвращают. Так как их получить?</p>]]></content>
			<author>
				<name><![CDATA[tim128]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=290</uri>
			</author>
			<updated>2016-01-13T13:48:38Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=2982#p2982</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Настройки программы]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=2973#p2973" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>tim128 пишет:</cite><blockquote><p>Экран сервера 1920х1200 Так почему нет изменения разрешения? Правильно я понимаю, что размер кадра видео из исходного 1920х1200 должен был быть изменен до 1920х1080 как настроено для устройства?</p></blockquote></div><p>Нет, программа отдаёт поток <strong>как есть</strong> телеку. Ничего не меняя. А сам телек вполне тоже может правильно его масштабировать (иногда нет).</p><p>Чтобы правильно изменить разрешение указав нужные параметры, нужно программе знать свойства файла и размер кадра в этом файле (потоке). Программа не знает, что у видео размер 1920х1200, пока заранее не считает его свойства. Для интернет ссылок, типа подкастов и ссылок интернет телевидения программа автоматом не считывает свойства. И отдаёт потоки с тем размером кадра, который у них есть.</p><p>Конечно, всё делают профили транскодирования (формируют параметры). В некоторых стоит принудительное считывание свойств и выставление параметров масштабирования.</p>]]></content>
			<author>
				<name><![CDATA[WendyH]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=2</uri>
			</author>
			<updated>2016-01-13T10:21:27Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=2973#p2973</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Настройки программы]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=2965#p2965" />
			<content type="html"><![CDATA[<p>Эти параметры работают только с профилями с транскодером FFMPEG которые полностью перекодируют видео. У меня профили фильмы основной и Ace Stream FFMPEG подгоняют видео под эти настройки, а на других профилях не наблюдал.</p>]]></content>
			<author>
				<name><![CDATA[Leshiy71]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=6</uri>
			</author>
			<updated>2016-01-12T20:12:28Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=2965#p2965</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Настройки программы]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=2964#p2964" />
			<content type="html"><![CDATA[<p>Понял. Тогда следующий вопрос - в подкасте PCScreen HmsTranscodingDvdParams не возвращает настроек для разрешения видео-потока. В тоже время у меня так же как и на вашем скриншоте установлен размер кадра 1920х1080, &quot;минимально пропорционально экрану&quot; и все галочки. Экран сервера 1920х1200 Так почему нет изменения разрешения? Правильно я понимаю, что размер кадра видео из исходного 1920х1200 должен был быть изменен до 1920х1080 как настроено для устройства?</p>]]></content>
			<author>
				<name><![CDATA[tim128]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=290</uri>
			</author>
			<updated>2016-01-12T19:55:07Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=2964#p2964</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Настройки программы]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=2959#p2959" />
			<content type="html"><![CDATA[<p>Нет, конечно же 420 это не размер. Параметр pix_fmt задаёт <a href="https://ru.wikipedia.org/wiki/YUV">цветовую модель</a> и <a href="http://wiki.multimedia.cx/index.php?title=PIX_FMT_YUV420P">4:2:0</a> это <a href="http://wiki.multimedia.cx/index.php?title=Category:Pixel_Formats">один из форматов</a> кодирования цвета (RGB) пикселей.</p><p>Всё это <a href="https://www.ffmpeg.org/ffmpeg.html#Video-Options">параметры</a> выходного файла для ffmpeg.<br />Кратко:<br />ключ -f - это формат файла. По сути, контейнер.<br />-vcodec - видео кодек (может быть mpeg4, mpeg2, x264, flv...)<br />-q:v - качество, битрейт (на сколько я понимаю, ограничивающее значение, 0 - не ограничивать) <br />-r - частота кадров, frame rate (25, 30....)<br />-acodec - аудиокодек (может быть ac3, mp3, aac, wma, lpcm...)<br />-ab 448000 - аудио битрейт<br />-ar 48000 - частота семплов (типа частоты кадров для видео), sampling frequency</p><p>А параметр -pix_fmt, я не знаю, выбран как стандарт для определённого кодека.</p><p>Этих параметров много и в них нужно разбираться. Но мои познания поверхностны.</p><p>Все эти значения программа берёт прямиком из настроек устройства. Если включили на просмотр с определённого устройства, то настройки берутся именно для него. Если вы отлаживаете скрипт, то настройки могут браться для &quot;Устройство по-умолчанию&quot;. Но суть одна - все эти данные заданы по следующему пути: в программе &quot;Настройки&quot;&nbsp; -&gt; &quot;Устройства&quot; -&gt; &quot;Настройки&quot; -&gt; &quot;Кодеки, кадр&quot;<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><span class="postimg"><img src="https://hms.lostcut.net/img/help/DeviceSettings.png" alt="https://hms.lostcut.net/img/help/DeviceSettings.png" /></span></p></div></div><p>Всё там. Всё оттуда. Ну, не только оттуда. Из настроек в других местах тоже добавляются параметры (могут добавляться).</p><p>Также, в некоторых профилях транскодирования или при определённых условиях параметры могут также дополнительно задаваться или меняться.<br />Например, если у файла считаны свойства и известен размер кадра и какие дорожки, то может добавляться дополнительные параметры.<br />Например: -vf &quot;scale=1280:720,setdar=16:9&quot;<br />или даже<br /></p><div class="codebox"><pre><code>-vf &quot;scale=720:400,pad=720:406:0:2:0x000000,setdar=16:9&quot; map 0:0 -map 0:1</code></pre></div><p>что означает, &quot;неправильный&quot; размер кадра файла дополнять полями до стандартного размера и мапятся конкретные выбранные дорожки 0:0 и 0:1 (если дорог много).</p><p>Что за параметры принимает ffmpeg и как с ними работать - читать не перечитать.</p>]]></content>
			<author>
				<name><![CDATA[WendyH]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=2</uri>
			</author>
			<updated>2016-01-12T18:25:49Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=2959#p2959</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Настройки программы]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=2956#p2956" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>WendyH пишет:</cite><blockquote><p>HmsTranscodingVideoParams - это параметры транскодирования, т.е. выходного файла.<br />HmsTranscodingInputParams - это параметры входного файла.<br />HmsTranscodingDvdParams - вся строка параметров</p></blockquote></div><p>Хорошо, только где эти параметры в настройках программы настраиваются? Вот к примеру pix_fmt yuv420p - разрешение по вертикали 420? Почему именно 420? Где это задано?</p>]]></content>
			<author>
				<name><![CDATA[tim128]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=290</uri>
			</author>
			<updated>2016-01-12T17:00:14Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=2956#p2956</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Настройки программы]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=2955#p2955" />
			<content type="html"><![CDATA[<p>Боюсь, что точный ответ может дать только автор программы. Но в отладчике становится ясно, что:<br />HmsTranscodingDvdParams = HmsTranscodingInputParams + HmsTranscodingVideoParams</p><p>Как пример:<br /></p><div class="codebox"><pre><code>HmsTranscodingInputParams := &#039;-probesize 7000000 -analyzeduration 10000000 -i &quot;&lt;INPUT FILE&gt;&quot;&#039;;
HmsTranscodingVideoParams := &#039;-f dvd -vcodec mpeg2video -q:v 0 -pix_fmt yuv420p -threads 4 -acodec ac3 -ab 448000 -ar 48000&#039;;
HmsTranscodingDvdParams   := &#039;-probesize 7000000 -analyzeduration 10000000 -i &quot;&lt;INPUT FILE&gt;&quot; -f dvd -vcodec mpeg2video -q:v 0 -pix_fmt yuv420p -threads 4 -acodec ac3 -ab 448000 -ar 48000&#039;;</code></pre></div><p>Т.е.:<br />HmsTranscodingVideoParams - это параметры транскодирования, т.е. выходного файла.<br />HmsTranscodingInputParams - это параметры входного файла.<br />HmsTranscodingDvdParams - вся строка параметров</p>]]></content>
			<author>
				<name><![CDATA[WendyH]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=2</uri>
			</author>
			<updated>2016-01-12T16:09:00Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=2955#p2955</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Настройки программы]]></title>
			<link rel="alternate" href="https://hms.lostcut.net/viewtopic.php?pid=2953#p2953" />
			<content type="html"><![CDATA[<p>Поясните, пожалуйста, что возвращают, чем различаются функции<br />HmsTranscodingDvdParams&nbsp; &nbsp; <br />HmsTranscodingInputParams<br />HmsTranscodingVideoParams</p>]]></content>
			<author>
				<name><![CDATA[tim128]]></name>
				<uri>https://hms.lostcut.net/profile.php?id=290</uri>
			</author>
			<updated>2016-01-12T15:55:30Z</updated>
			<id>https://hms.lostcut.net/viewtopic.php?pid=2953#p2953</id>
		</entry>
</feed>
