<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Передача потокового видео</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html</link>
    <description>Доброго времени суток!&lt;br&gt;У меня есть след. задача:&lt;br&gt;Есть некая железяка, DaVinci на ARM камне. Она умеет считывать с камеры видео, паковать его в mpeg4 (H.264) и писать в файл на собственную флешку (исходники предоставлены). Моя задача - организовать потоковое multicast видео средствами TCP/IP, принимать на клиенте это видео и воспроизводить/записывать в файл его. Вся проблема в том, что ранее такими задачами я не занимался и достаточно мало просвещен как в кодеках, так и в multicast передаче. С мултикастом проблем нет (благо есть у меня хорошая книга), но вот с вопросом чтения/передачи/приема видео я как в лесу в трех соснах заблудился... Вопрос собственно заключается в следующем. Как я понимаю, разница между форматом файла и кодеком есть. Если я буду передавать видео, которое в любой момент может подхватить некий клиент, то как мне это лучше организовать? Каким протоколом пользоваться? Могу ли я просто на этапе кодирования видео (до записи и форматирования в файл) просто тупо гнать поток по сети и на клиенте</description>

<item>
    <title>Передача потокового видео (Vladimir)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html#22</link>
    <pubDate>Wed, 05 Aug 2009 09:24:52 GMT</pubDate>
    <description>Та же задача стоит:) Интересно, насколько вы продвинулись в ней...&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Передача потокового видео (Simon)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html#21</link>
    <pubDate>Tue, 02 Sep 2008 08:57:30 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Да, и ещё пять копеек в сторону SIP&apos;а. Протокол конечно полное г..но, &lt;br&gt;&amp;gt;&amp;gt;но видео можно гнать через его компоненту: RTP. Я думаю есть &lt;br&gt;&amp;gt;&amp;gt;готовые библиотеки для передачи по RTP, и играть уже стандартными средствами &lt;br&gt;&amp;gt;&amp;gt;=) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Огромное спасибо за развернутый ответ! Я думал что все намного проще.. В &lt;br&gt;&amp;gt;понедельник на работу приду, буду думать. Еще раз спасибо! &lt;br&gt;&amp;gt;P.S. &lt;br&gt;&amp;gt;Ты говорил про howto, не мог бы дать ссылочку? &lt;br&gt;&lt;br&gt;Первая ссылка в google по запросу ffmpeg tutorial =)&lt;br&gt;http://www.dranger.com/ffmpeg/tutorial01.html&lt;br&gt;Вот ещё.&lt;br&gt;http://www.inb.uni-luebeck.de/~boehme/using_libavcodec.html&lt;br&gt;&lt;br&gt;RTP библиотеки ищутся так же =) &lt;br&gt;</description>
</item>

<item>
    <title>Передача потокового видео (ufobject)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html#20</link>
    <pubDate>Sat, 30 Aug 2008 12:27:06 GMT</pubDate>
    <description>&amp;gt;Да, и ещё пять копеек в сторону SIP&apos;а. Протокол конечно полное г..но, &lt;br&gt;&amp;gt;но видео можно гнать через его компоненту: RTP. Я думаю есть &lt;br&gt;&amp;gt;готовые библиотеки для передачи по RTP, и играть уже стандартными средствами &lt;br&gt;&amp;gt;=) &lt;br&gt;&lt;br&gt;Огромное спасибо за развернутый ответ! Я думал что все намного проще.. В понедельник на работу приду, буду думать. Еще раз спасибо!&lt;br&gt;P.S. &lt;br&gt;Ты говорил про howto, не мог бы дать ссылочку?&lt;br&gt;</description>
</item>

<item>
    <title>Передача потокового видео (Simon)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html#19</link>
    <pubDate>Fri, 29 Aug 2008 13:28:13 GMT</pubDate>
    <description>&amp;gt;Вот спасибо! То что надо. получается, что кодируя видео в H.264 и &lt;br&gt;&amp;gt;передавая поток по сетке, клиент может начать декодирование и проигрывание с &lt;br&gt;&amp;gt;любого момента (заголовки видимо во всех пакетах идут)? &lt;br&gt;&lt;br&gt;не-а. Так не получиться. Грубо говоря, поток с видиокодека это просто бесконечная череда байт. Но кодек, тебе может сообщить к какому моменту времени сейчас относиться текущая последовательность байт . Контайнер (формат файла) используя эту информацию бьет поток на куски, каждому потоку приписывает метку времени и каждый кусок независимо от другого кладет в файл.&lt;br&gt;&lt;br&gt;Тебе нужно сделать примерно точно также. Поток получил, пакетировал и передаешь уже почти независимыми кусками. На клинете склеиваешь пакеты по порядку, получаешь поток на декодер.&lt;br&gt;&lt;br&gt;Понятно, что пакетирование очень непростая операция. Например, ffmpeg берет эти все действия на себя. Он сам определяет как нужно бить поток, чтобы тот потом адекватно начал склеиваться начиная с какого-то момента времени.&lt;br&gt;&lt;br&gt;Просто так поток H264 ты не передашь</description>
</item>

<item>
    <title>Передача потокового видео (Simon)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html#18</link>
    <pubDate>Fri, 29 Aug 2008 13:10:06 GMT</pubDate>
    <description>Спасибо за ссылку! Почитал, интересно. Там оказывается уже сервера готовые&lt;br&gt;&lt;br&gt;Я не правильно вопрос занял. Я просто думал, что есть уже видеокамеры со встроенным mpeg4 кодером. Типа, чтобы картинку не в Bayer или JPEG формате брать с v4l устройства, а сразу куски mpeg4 потока. А управлять качеством через v4l_ioctl. =) Эх-х-х&lt;br&gt;</description>
</item>

<item>
    <title>Передача потокового видео (Fuzzy)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html#17</link>
    <pubDate>Fri, 29 Aug 2008 12:16:55 GMT</pubDate>
    <description>&amp;gt;А есть такие?! Вынуть отдельный кадр не проблема, а вот куски уже &lt;br&gt;&amp;gt;кодированного потока выдирать - такого не видел. Уже есть такие камеры? &lt;br&gt;&amp;gt;Уж очень интересно &lt;br&gt;&lt;br&gt;Я сам не видел, но говорят есть, например sensoray &lt;br&gt;http://sensoray.com/products/frame_grabber.htm&lt;br&gt;</description>
</item>

<item>
    <title>Передача потокового видео (Simon)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html#16</link>
    <pubDate>Fri, 29 Aug 2008 12:08:03 GMT</pubDate>
    <description>&amp;gt;Если есть linux драйвер v4l/v4l2 для mpeg4 то вообще ничего переделывать не &lt;br&gt;&amp;gt;надо, использовать готовые решения.&lt;br&gt;&lt;br&gt;А есть такие?! Вынуть отдельный кадр не проблема, а вот куски уже кодированного потока выдирать - такого не видел. Уже есть такие камеры? Уж очень интересно &lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Передача потокового видео (Simon)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html#15</link>
    <pubDate>Fri, 29 Aug 2008 12:04:30 GMT</pubDate>
    <description>Да, и ещё пять копеек в сторону SIP&apos;а. Протокол конечно полное г..но, но видео можно гнать через его компоненту: RTP. Я думаю есть готовые библиотеки для передачи по RTP, и играть уже стандартными средствами =)&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Передача потокового видео (Simon)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7569.html#14</link>
    <pubDate>Fri, 29 Aug 2008 12:00:52 GMT</pubDate>
    <description>разница менду форматом файла (контейнером) и кодеком есть. Кодек на выходе дает тупо поток, контейнер же размещает каждый поток в файле в виде отедельных фреймов (не кадров, а именно frame&apos;ов, потому что в frame может быть как один кадр, так и последовательность от базового до базового например). Каждый фрейм имеет метку синхронизации, чтобы обеспечить привильную состыковку потоков при произведении, видео и аудиопотока например.&lt;br&gt;&lt;br&gt;ffmpeg состоит из нескольких библиотек. avformat.h соответственно позволяет бегать по видеофайлу и перепрыгивать с одной метки премени на другую (av_seek_frame). avcodec.h соответственно позволяет декодировать каждый поток во frame и получить что-то на выходе (кадры, кусок аудио).&lt;br&gt;&lt;br&gt;Так что по сути, подцепить поток с места не проблема. Ты просто получаешь очередной frame и декодируешь его ffmpeg&apos;ом и показываешь.&lt;br&gt;&lt;br&gt;Подстава с транспортом. Frame может передаваться разными путями. Например, по SIP протоколу (упаси боже связываться с ним =)), с помощью собственного транспорта (так д</description>
</item>

</channel>
</rss>
