2016-08-02 35 views
1

即时通讯工作在使用mpeg2-ts和ISDB-T(Integrated Services Digital Broadcasting-Terrestial)的文件广播方法中,我的问题是我不能将文件放入数据流,或作为原始视频,或在mpeg-ts内部使用ffmpeg和avconv进行交流。下面是一个试验的例子:复合一个普通的文件到Mpeg中TS

的ffmpeg -f MPEGTS -i Myfile.tgz -probesize FILESIZE -mpegts_original_network_id为0x1 -mpegts_transport_stream_id为0x1 -mpegts_service_id 0x25 -mpegts_pmt_start_pid 0xbb9 -mpegts_start_pid 0xbba - 元数据SERVICE_PROVIDER = “FILESSERVER” - 元数据服务名= “文件”-muxrate 16M output.ts

+0

这是发送PDF图书到偏远的学校...请帮助。 – JFrez

+1

如果您正在寻找一种方法将同一个文件发送给可能位于慢速卫星链路上的多个客户端,则可以使用UFTP,它是基于UDP的多播FTP。这可以比MPEG-TS流更可靠,并且会为您节省一些麻烦。 [see here](http://uftp-multicast.sourceforge.net/) – aergistal

+0

它不是通过卫星,它通过空中电视广播信号在远程位置 – JFrez

回答

1

您可以将文件解释为二进制文本。

ffmpeg -f bin -i Myfile.tgz -c copy 
-mpegts_original_network_id 0x1 -mpegts_transport_stream_id 0x1 -mpegts_service_id 0x25 
-mpegts_pmt_start_pid 0xbb9 -mpegts_start_pid 0xbba 
-metadata service_provider="FILESSERVER" -metadata service_name="FILES" 
-muxrate 16M output.ts 

然后将其解压

ffmpeg -i output.ts -c copy -map 0 -f data myfile.tgz 

(您可以在第一个命令得到一个I/O错误消息。但结果却很好。)

+0

omg,谢谢!!!!! – JFrez