mlevel Опубликовано 21 октября, 2010 (изменено) Принимаю канал со спутника (поток MPEG2 ~ 4 Mbit/s), все идет нормально, стабильно. Начинаю перекодировать с MPEG2 в MPEG4, с помощью VLC и ffmpeg: #!/bin/sh /usr/bin/vlc -vvv --color --ttl 12 --ts-es-id-pid --program=1 dvb: --dvb-frequency=xxxxx000 --dvb-fec=9 --dvb-srate=27500000 --dvb-voltage=18 --dvb-adapter=0 --sout '#transcode{vcodec=mp4v,acodec=mpga,channels=2,vb=800,ab=128,deinterlace}:duplicate{dst=rtp{mux=ts,dst=239.0.0.1},select="program=1"}"' Поток идет нормально, качество улучшилось, но этот поток теперь занимает полосу от 2 до 20 Mbit/s. Можно ли зажать его до 2 Mbit/s? Курил мани по VLC, не нашел... P.S. Смена vb, deinterlace, ab, channels не дала результатов. Изменено 21 октября, 2010 пользователем mlevel Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Снежкин Опубликовано 21 октября, 2010 но этот поток теперь занимает полосу от 2 до 20 Mbit/s с помощью чего вы это видите? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mlevel Опубликовано 22 октября, 2010 iftop, nload. Поток транслируется на отдельный интерфейс, по которому ничего не бегает больше, кроме ТВ. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Снежкин Опубликовано 22 октября, 2010 (изменено) пробуйте так #transcode{vcodec=h264,vb=200,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=4 8000} только сразу учтите - программный перегон из mpeg2 в mpeg4 кушает очень много процессорного ресурса. Изменено 22 октября, 2010 пользователем Снежкин Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mlevel Опубликовано 22 октября, 2010 не пойдет, нет энкодера почему то. [00000365] ffmpeg encoder error: cannot find encoder H264 - MPEG-4 AVC (part 10) [00000294] stream_out_transcode private error: cannot find encoder ((null)) [root@tv /video]# ffmpeg -formats | grep h264 FFmpeg version r11872+debian_0.svn20080206-18+lenny1, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --enable-gpl --enable-libfaad --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-altivec --disable-vis --enable-shared --disable-static libavutil version: 49.6.0 libavcodec version: 51.50.0 libavformat version: 52.7.0 libavdevice version: 52.0.0 built on Oct 13 2010 18:20:52, gcc: 4.3.2 DE h264 raw H264 video format D V DT h264 text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Снежкин Опубликовано 22 октября, 2010 нет энкодера почему то какая у вас версия videolan? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mlevel Опубликовано 22 октября, 2010 (изменено) VLC: [root@tv /]# vlc --version VLC media player 0.8.6h Janus starting VLC root wrapper... using UID 1001 VLC version 0.8.6h Janus Compiled by buildd@murphy.debian.org Compiler: gcc version 4.3.2 (Debian 4.3.2-1.1) This program comes with NO WARRANTY, to the extent permitted by law. You may redistribute it under the terms of the GNU General Public License; see the file named COPYING for details. Written by the VideoLAN team; see the AUTHORS file. System (Debian 5.0.5 Lenny): [root@tv /home]# uname -a Linux tv 2.6.26-2-686 #1 SMP Thu Sep 16 19:35:51 UTC 2010 i686 GNU/Linux FFmpeg: [root@tv /home]# ffmpeg -version FFmpeg version r11872+debian_0.svn20080206-18+lenny1, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --enable-gpl --enable-libfaad --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-altivec --disable-vis --enable-shared --disable-static libavutil version: 49.6.0 libavcodec version: 51.50.0 libavformat version: 52.7.0 libavdevice version: 52.0.0 built on Oct 13 2010 18:20:52, gcc: 4.3.2 FFmpeg r11872+debian_0.svn20080206-18+lenny1 libavutil 3212800 libavcodec 3355136 libavformat 3409664 libavdevice 3407872 [root@tv /home]# vlc -l | grep h264 VLC media player 0.8.6h Janus starting VLC root wrapper... using UID 1001 (arion) h264 H264 video demuxer packetizer_h264 H.264 video packetizer Изменено 22 октября, 2010 пользователем mlevel Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Снежкин Опубликовано 22 октября, 2010 VLC media player 0.8.6h Janus не пора ли обновиться? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mlevel Опубликовано 22 октября, 2010 поставил с пакетов. apt-get install vlc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mlevel Опубликовано 22 октября, 2010 (изменено) пробуйте так #transcode{vcodec=h264,vb=200,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=4 8000} только сразу учтите - программный перегон из mpeg2 в mpeg4 кушает очень много процессорного ресурса. пересобрал VLC из исходников, запустилось.Вопрос, что значит опция scale, samplerate не по научному, и какие вообще опции влияют на ширину потока? Поток все равно немного пригает, до 5 Мбит/с. Изменено 22 октября, 2010 пользователем mlevel Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mlevel Опубликовано 25 октября, 2010 (изменено) Только вот не получается два канала с одного транспондера перекодировать одновременно... Только первый канал идет. #!/bin/sh /usr/local/bin/cvlc -vvv --color --programs=1,2 --ts-es-id-pid dvb:// :dvb-frequency=xxxx000 :dvb-srate=xxxx0000 :dvb-voltage=18 :dvb-adapter=0 --sout '#duplicate{dst="transcode{vcodec=h264,acodec=mpga,channels=2,vb=800,scale=1,samplerate=48000 ,ab=128,deinterlace}:rtp{mux=ts,dst=239.0.0.1}",select="program=1",dst="transcode{vcodec=h264,acodec=mpga,channels=2,vb=800,scale=1,samplerate=48000 ,ab=128,deinterlace}:rtp{mux=ts,dst=239.0.0.2}",select="program="2"}' Изменено 25 октября, 2010 пользователем mlevel Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mlevel Опубликовано 7 ноября, 2010 up + Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
aoz1 Опубликовано 12 ноября, 2010 dvblast и vlc по числу каналов. Иначе никак. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Neko-san Опубликовано 12 ноября, 2010 Если свалить на VLC и прием со спутника, и транскодирование - ему будет совсем не хорошо, в плане утечек памяти. Да и конвертить, не факт что VLC. Можно попробовать собрать что-то из ffserver + ffmpeg, мне кажется будет работать стабильнее. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...