Мультиплексировать обычный файл в Mpeg TS

я работаю в методе передачи файлов с использованием mpeg2-ts и ISDB-T (цифровое вещание с интегрированными услугами - наземное). Моя проблема в том, что я не могу поместить файл в поток данных, или как необработанное видео, или ничего внутри mpeg-ts.... я использую ffmpeg и avconv. Вот пример теста:

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 -metadata service_provider="FILESSERVER" -mux_service_name="FILETSSERVER" -muxLEts_name="


person JFrez    schedule 02.08.2016    source источник
comment
это для отправки книг в формате PDF в удаленные школы... пожалуйста, помогите.   -  person JFrez    schedule 02.08.2016
comment
Если вы ищете способ отправить один и тот же файл нескольким клиентам, которые могут использовать медленные спутниковые каналы, вы можете использовать UFTP, который является многоадресным FTP через UDP. Это может быть более надежным, чем поток MPEG-TS, и избавит вас от головной боли. см. здесь   -  person aergistal    schedule 26.08.2016
comment
это не через спутник, это по воздуху телевизионные сигналы в отдаленных местах   -  person JFrez    schedule 20.03.2017
comment
Эта идея выиграет от Прямая коррекция ошибок. Потеря нескольких битов в PDF намного хуже, чем потеря нескольких кадров в видео.   -  person MSalters    schedule 13.07.2017


Ответы (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

(Вы можете получить сообщение об ошибке ввода-вывода в первой команде. Но результат был в порядке.)

person Gyan    schedule 02.08.2016