[FFmpeg-user] Send RTMP to cable TV headend?

Edit 'B bouke at editb.nl
Tue Feb 13 08:47:33 EET 2024



> On 13 Feb 2024, at 07:23, Jason Bailey via ffmpeg-user <ffmpeg-user at ffmpeg.org> wrote:
> 
> So I've got what might seem like an odd topic for questions. I'm trying to take a RTMP stream from our Wowza server and essentially morph the stream into a viable form that our cable head end will accept. It's a tricky issue because the gear requires MPEG2TS video with AC3 audio, which Wowza does not support.
> 
> 
> I have it working but not in an ideal manner. The video can be extremely choppy, slow and downright terrible at times. The video stream is all in-network over high throughput, low latency fiber. Playing the same RTMP stream from Wowza in a player such as MPV or VLC looks great. It's the conversion -- something isn't ideal, and unfortunately, I'm not an audio or video guru.
> 
> 
> In the logs, I see a LOT of messages that say "Past duration 0.766228 too large" where the duration is in the 0.7xxx range. I'm struggling to find the right ffmpeg command and OS tuning (it's on a VM running Debian) to get a reasonable result.
> 
> 
> The command I'm using is as follows:
> 
> 
> /usr/bin/ffmpeg -listen 1 -i rtmp://127.0.0.1:12010/ch10/go/mp4:live -r 29.97 -vcodec mpeg2video -s 720x480 -pix_fmt yuv420p -me_method epzs -threads 4 -b:v: 768k -bufsize 5376k -maxrate 1024k -acodec ac3 -ac 2 -ar 48k -ab 224k -trellis 2 -bf 2 -v info -f mpegts udp://a.b.c.d:11010

Your bitrate seems quite low. (And your resolution without an aspect ratio, does that work for you?)
No idea how large the input bitrate is, you might want to increase the bufsize.

> This is passing to a Telvue box that is doing pass-through -- no transmuxing, transcoding, etc. Like I said, it works, but doesn't work very well.
> 
> 
> So I guess my first question is, are there any changes (specific or broad) to my above command that you would recommend that would / could help the situation?
> 
> 
> My second question is, assuming there is an "ideal" command that gives me reasonable results, is there a way to tell ffmpeg to send a second optional output that I could tap into with my workstation (VLC, etc) when troubleshooting? If there is, is it possible to do HLS or DASH without a lot of administrative overhead on my part?

Try adding another output at the end, or look up ’tee’.

Bouke



More information about the ffmpeg-user mailing list