Feature #4001

Custom 'pipe' muxer

Added by Frank Baier 6 months ago. Updated 6 months ago.

Status:NewStart date:2016-09-29
Priority:NormalDue date:
Assignee:John Törnblom% Done:


Target version:4.4



would it be possible to add a "special" strem profile where i can add my personal ffmpeg command line to create a special format?
So that the Data Stream from Tvheadend will send the native ts from the selected channel will send via pipe to ffmpeg so that advanced users can crate her own special settings?!

In my special case i have to create a MXF container mit 50MBit mpeg2/yuv422 Container ans 8 audio channel in 24 bit wav 48kHz with ffmpeg and this will be piped to bmx to crate a standard conform ARD-ZDF-hdf01a container.

So only th ts steam as inpust is needed and a variable which maps the settings the path/filename (als result!) from the Record section. So no more changes/mapping the same variables as in the record settings are required!

or as alternative the stream can be piped pack to tcheadend and the result can be used for streaming and recording or whatever...

So advanced users can use more streaming formats without do changes in the sourcecode...

Thanks for your support

tvheadend is a great project



#1 Updated by Jaroslav Kysela 6 months ago

You may already use pipe:// for custom transcoding. You may use http streams from tvh as input to ffmpeg for live transcoding. https://tvheadend.org/projects/tvheadend/wiki/Custom_MPEG-TS_Input

#2 Updated by Frank Baier 6 months ago

I know your feature what you are talking about and I use this at home...
but this is on the input side... when i have an hls stream for example...

I have the problem that I want so record in a special format (XDCam HD 422 / hdf01a) and this is supported from ffmpeg but i can not make the settings on tvheadend to transcode and svae (record) :(

#3 Updated by Jaroslav Kysela 6 months ago

You can point piped ffmpeg to the hls stream, transcode to mpeg-ts and let tvh to manage recordings.

#4 Updated by Frank Baier 6 months ago

Sorry but I have not explained correctly i think...

On the input side all is well... I got a Multicast ts stream and all is working great!!!

The problem is that i want to record in an format that can be handled from ffmpeg but i have not the correct settings in tvheadend for the format i need.
And because ffmpeg can handle so many formats I want to know if there is the posibillity that an advanced stream setting for recording can be provided where i have no classical settings for the record provide (container, media codec etc) instead of this i have only a line where i can make it like pipe://usr/bin/ffmpeg ..... and make my own transcoding settings and pipe it pack to tvheadend and then the file will be stored from tvheadedn with the naming settings etc.

So tvheadend have a few profiles and settings for "normal" users and one advanced setting where all special transcoding stuff can be handled.

#5 Updated by Jaroslav Kysela 6 months ago

You can use DVR post-processing command for this (save the recordings using a supported muxer and convert it).

It's not easy to support the ffmpeg syntax, because we use only ffmpeg libraries. It means that the ffmpeg application code (plugin chain builder) would be integrated to tvh.

Thinking more - it would be much easier to create 'pipe' muxer (pass the mpeg-ts or mkv stream to the stdin of a tool and read back the stdout for further data handling - recording or streaming).

#6 Updated by Frank Baier 6 months ago

this would be great :)

#7 Updated by Jaroslav Kysela 6 months ago

  • Subject changed from More flexible setup for streamprofile to Custom 'pipe' muxer
  • Target version set to 4.4

Also available in: Atom PDF