Как мне транслировать видеофайл с помощью Kafka?

Решение очень просто; Просто добавьте это поверх метода Main [STAThread]

Итак, ваш основной метод должен выглядеть следующим образом:

 [STAThread]
 static void Main(string[] args)
 {
     ....
 }

Он работает для меня.

1
задан Viacheslav Shalamov 18 March 2019 в 18:44
поделиться

1 ответ

создайте файл, аналогичный созданию текстового файла

Таким образом, я предполагаю, что вы следуете в качестве примера настройки производителя и потребителя, отправляя текстовые / json сообщения через kafka.

В вашем случае вам нужно сериализовать ваш видеофайл / фрагмент / чанк в байты , отправить необработанные байты в kafka, прочитать их у потребителя и десериализовать ваш видеофайл / фрагмент / чанк обратно [ 1118].

Чтобы отправить необработанные байты через kafka, вам нужно использовать ByteArraySerializer в производителе и ByteArrayDeserializer в потребителе.

См .: https://kafka.apache.org/20/javadoc/index.html?org/apache/kafka/common/serialization/ByteArrayDeserializer.html https: // kafka .apache.org / 20 / javadoc / org / apache / kafka / common / serialization / ByteArraySerializer.html

Итак, в вашей конфигурации вам нужно указать свойства (при условии, что вы не используете ключи , только значения): производитель:

"key.serializer":"org.apache.kafka.common.serialization.StringSerializer"
"value.serializer":"org.apache.kafka.common.serialization.ByteArraySerializer"

потребитель:

"key.deserializer":"org.apache.kafka.common.serialization.StringDeserializer"
"value.deserializer":"org.apache.kafka.common.serialization.ByteArrayDeserializer"

Если вы просто хотите отправить файл mp4, прочитайте его в байтах следующим образом (в Java): [117 ] Файл в байт [] в Java

byte[] array = Files.readAllBytes(new File("/path/to/file").toPath());

С другой стороны, в потребителе вы получаете этот байтовый массив и сохраняете их в файл.

0
ответ дан Viacheslav Shalamov 18 March 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: