我如何将任何 mp4 转换为 adv8dvbt23.ts 文件?

How I can convert any mp4 to adv8dvbt23.ts file?

我可以下载http://www.w6rz.net/adv8dvbt23.ts.
dvbt sample ts files.

有很多样本

但是,我想将我的 视频文件 转换为 TS 文件 用于 dvbt。 首先,我检查了 google,但找不到任何答案。 我觉得,这说不通,或者,思路可能是错误的。

FFmpeg 可以用来做这个吗? 但是,传输模式、QAM / 64QAB、保护间隔没有任何参数。

FFmpeg can used for this? but, there is no any parmameter for Transmit mode, QAM / 64QAB, guard interval.

正如我解释的那样 already:

ffmpeg doesn't know anything about RF things like Constellation type; it is just a tool to transcode between different video formats. .ts is for "transport stream", and it's the video container format that DVB uses. The GNU Radio transmit flowgraphs on the other hand know nothing about video things – all they do is take the bits from a file. So that file needs to be in a format that the receiver would understand, and that's why I instructed you to use FFMPEG with the parameters you need. Since I don't know which bitrate you're planning on transmitting, I can't help you with how to use ffmpeg

因此,您需要生成 DVB-T 接收器可以理解的视频数据,但更重要的是,您需要将它们放在一个容器中以确保恒定的比特率。

正如您在 ham.stackexchange.com 关于该主题的问题的不同评论中所指出的,您的示例的主要来源是 GNU Radio 自己的 gr-dtv 模块;当你查看 gnuradio/gr-dtv/examples/README.dvbt 时,你会发现 link 到 https://github.com/drmpeg/dtv-utils ,W6RZ 自己的工具 :)

在那里您会找到必要的工具来计算您的 MPEG 传输流所需的确切 流比特率。请记住,DVB-T 发射器必须以每秒恒定的比特率进行传输,因此您的视频容器必须具有恒定的比特率。这就是传输流填充视频数据以实现恒定速率的原因。

然后,您将使用 ffmpeg 将您的视频转码并放入传输流容器:

 ffmpeg -re -i inputvideo.mpeg \
        -vcodec mpeg2video \
        -s 720x576          #resolution; this is a good choice, since most TVs will deal with it \
        -r 25               #frames per second, use 25\
        -flags cgop+ilme -sc_threshold 1000000000 #MPEG codec options\
        -b:v 2M             #Video *codec data* bit rate (defines video quality). Must be lower than stream bit rate, so < muxrate-(audio bitrate)\
        -minrate:v 2M -maxrate:v 2M #enforce constant video bit rate\
        -acodec mp2 -ac 2 -b:a 192k #audio codec, quality and bitrate\
        -muxrate ${RATE FROM TOOL}
        -f mpegts #specify you want a MPEG Transport Stream container as output\
        outputfile.ts