Feb 4, 2012 - I've already experimented with other embedded platforms (TI) for hw video encoding but was not really pleased by the software support. The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi community. Author: Guenter Kreidl October 2018 update There is a new transcoder package for the Raspbery Pi, rtranscode 4.0, which does work on both Raspbian Jessie and Stretch. Epson stylus sx235w driver free download. Please have a look at my online manual for details: An overview and download instruction can be found in the The latest RPi package package also contains MuMuDVB and a tutorial and some scripts to create a MuMuDVB backend and a simple frontend. Transcoding with the Raspberry Pi The main use of transcoding is to provide a low bandwidth stream which can be served to a large number of clients or across a low bandwidth connection (your internet connection, for example). This is done by decoding the original dvb video stream, optionally reducing the image size and encoding it again, using a more efficient encoder (compared to MPEG 2, for example) or using a lower quality setting. More bandwitdh reduction can be achieved by reducing the number of audio channels and by also transcoding audio to a lower bandwidth. The Raspberry Pi family of cheap ARM computer boards, priced from 5 (RPi Zero) to 35 USD (RPi 3), contains a GPU which is well suited for real time transcoding of DVB streams. It just needs the right kind of software. A Raspberry Pi 3 (or the older model 2) is powerful enough to run mumudvb, oscam and the transcoding software at the same time, serving (and descrambling) a whole transponder. But transcoding is limited to one channel at a time. If you are running mumudvb on another device, it may still be useful to add a Raspberry Pi to your network just for transcoding as it runs on low power (12.5 VA maximum). Note: in all following examples I run mumudvb on the same Raspberry Pi (localhost), using unicast and port 9082. My transcoding solution for the Raspberry Pi uses gstreamer-1.0 modules including the gstreamer-omx module which can access the GPU and use it for decoding and encoding of video streams. To serve the transcoded stream on a http server it uses a slightly extended version of Sebastian Droege’s http-launch. The following example takes a mumudvb unicast stream SD stream (MPEG2 encoded video) and serves it on as H264 encoded MKV live stream with an image size of 360x288, a video bitrate of 281 KBit and also transcodes one of the original audiostreams to 64 KBit AAC: http-launch 9080 /xyz.mkv video/x-matroska default souphttpsrc location='is-live=true keep-alive=true do-timestamp=true retries=10 typefind=true blocksize=16384! Tsdemux parse-private-sections=false name=demux demux.audio_0066! ![]() Audioconvert dithering=0! Avenc_aac compliance=-2 bitrate=65536! Matroskamux name=stream streamable=true demux.! Omxh264enc target-bitrate=288000 control-rate=variable! Configuring and issuing such command lines would be a real pain and so I have written another application, rtranscode, which manages the use of http-launch in a much simpler way. In it’s most basic useage it takes four command line arguments: rtranscode [options] uri videomode audiomode audiopid To get the same stream as above I run: rtranscode sd1 mpeg 0x66 You still need to know a bit about the original stream to run it. To find the arguments, rtranscode contains a stream analyzer. ![]() Running rtranscode -g=will give you the channel name and the arguments: Das Erste=sd1 mpeg 0x66 Running rtranscode -t=will not only find the arguments for you but will immediately start the transcoder stream. There are options to set the image size, video bitrate, audio bitrate and more. For example, this command rtranscode -a=1 -v=0 -s=6 -t=will run the same stream with an image of size 720x576, using a video bitrate of 844 KBit and an audio bitrate of 32KBit (mono). Here’s another example, transcoding a 1080i HD stream: rtranscode -a=1 -v=0 -h=3 -t=Starting to transcode Size: 910x512 VBR: 948K ABR: 32K AC3 Listening on For more comfortable use you can run rtranscode in a simple (curses) menu mode. This requires a channel database file, which is a simple text file containing lines like this Das Erste=sd1 mpeg 0x66 (which can be found using the -g option) rtranscode contains another tool to create such channel databases. Here is a more complete example. I’m serving the whole transponder 12187.50 from Astra S19.2E with mumudvb.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |