用crtmpserver重新流式传输MPEG2 TS PAL流 [英] Re-Stream a MPEG2 TS PAL Stream with crtmpserver

查看:187
本文介绍了用crtmpserver重新流式传输MPEG2 TS PAL流的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想建立一些流包装器:​​



我拥有一个旧的Dreambox PAL Sat Reciever与网络。这个流我想转码为一个较低的结果一个重新排序它。



我的目标是拥有一个简单的网站,通过rtmp嵌入此流。



crtmpserver应该是正确的软件。现在我有一个网站运行,可以播放本地文件通过jwplayer / crtmpserver。



我正在寻找解决方案:



httpUrl - > ffmpeg - > crtmpserver



可以吗?我可以将ffmpeg的输出重定向到一个提交的管道,crtmpserver可以抓住这个?还是用UDP?



任何提示赞赏!谢谢!!

解决方案

很容易:


    <

    启动服务器(在控制台模式下进行调试)
    您应该看到如下:



    | tcp | 0.0.0.0 | 9999 | inboundTcpTs | flvplayback |


基本上,这是mpegts流的tcp接受者


  1. 使用ffmpeg创建流:



    ffmpeg -i<源>< source_related_pa​​rameters>< audio_codec_parameters>< video_codec_parameters> -f mpegtstcp://127.0.0.1:9999


示例:

  ffmpeg -i /tmp/aaa.flv -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegtstcp://127.0.0.1:9999 




  1. 返回服务器并观看控制台。你应该看到这样的东西:



    流入INTS(6),名称为 ts_13_257_256 注册到应用程序 flvplayback 从协议ITS(13)


ts_13_257_256是流名称。现在您可以使用jwplayer或类似的播放器并将其指向该流



如果要使用UDP,则需要停止服务器并更改配置文件,而不是有

 协议=inboundTcpTs

你应该有

  protocol =inboundUdpTs

Yo ucan甚至复制整个部分,并更改端口号以同时拥有这两个。
此外,您必须更改ffmpeg而不是具有tcp://127.0.0.1:9999您可以拥有udp://127.0.0.1:9999



现在,如果您还想要一个流名称,而不是ts_13_257_256(这通过ts_protocolId_AudioPID_VideoPID的方式),您可以以类似的方式使用LiveFLV:

  ffmpeg -i /tmp/aaa.flv -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f flv -metadata streamName = myStreamNametcp://127.0.0.1:6666

服务器应显示:

  Stream INLFLV(1),名称为myStreamName,从协议ILFL(3)注册到应用程序flvplayback



你去,现在你有一个计算的流名称是myStreamName



最后一个观察。请在crtmpserver的邮件列表中提出这样的问题。你会更好地听到。
您可以在这里找到资源:
http://www.rtmpd.com/resources/
寻找



干杯,
Andrei


I want to build up some kind of stream wrapper:

I own an old Dreambox PAL Sat Reciever with Networking. This stream I want to transcode to a lower resultion an restream it.

My Goal is, to have a simple website, where this stream is embedded via rtmp.

I thougt crtmpserver should be the right software. For now I have a site running and can play local files through jwplayer/crtmpserver.

I am looking for a solution for this:

httpUrl -> ffmpeg -> crtmpserver

Is that possible? May I redirect the output of ffmpeg to a filed pipe, and crtmpserver could grab that? Or go with UDP?

Any hints appreciated!!! Thanks!!

解决方案

That's easy:

  1. Start the server (in console mode for debugging) You should see something like this:

    |tcp| 0.0.0.0| 9999| inboundTcpTs| flvplayback|

Basically, that is a tcp acceptor for mpegts streams

  1. Use ffmpeg to create the stream:

    ffmpeg -i < source > < source_related_parameters > < audio_codec_parameters > < video_codec_parameters > -f mpegts "tcp://127.0.0.1:9999"

Example:

ffmpeg -i /tmp/aaa.flv -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f mpegts "tcp://127.0.0.1:9999"

  1. Go back to the server and watch the console. You should see something like this:

    Stream INTS(6) with name ts_13_257_256 registered to application flvplayback from protocol ITS(13)

ts_13_257_256 is the stream name. Now you can use jwplayer or similar player and point it to that stream

If you want to use UDP, you need to stop the server and change the config file so instead of having

protocol="inboundTcpTs"

you should have

protocol="inboundUdpTs"

Yo ucan even copy the entire section and change the port number to have both. Also, you have to change the ffmpeg so instead of having tcp://127.0.0.1:9999 you can have udp://127.0.0.1:9999

Now, if you also want a stream name and not that ts_13_257_256 (which is by the way ts_protocolId_AudioPID_VideoPID) you can use LiveFLV in a similar manner:

ffmpeg -i /tmp/aaa.flv -acodec copy -vcodec copy -vbsf h264_mp4toannexb -f flv -metadata streamName=myStreamName "tcp://127.0.0.1:6666"

And the server should show:

Stream INLFLV(1) with name `myStreamName` registered to application `flvplayback` from protocol ILFL(3)

There you go, now you have a "computed" stream name which is myStreamName

One last observation. Please ask this kind of questions on the crtmpserver's mailing list. You will be better heard. You can find resources here: http://www.rtmpd.com/resources/ Look for the google group under

Cheers, Andrei

这篇关于用crtmpserver重新流式传输MPEG2 TS PAL流的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆