Запись потокового видео - C#
Формулировка задачи:
Подскажите с чего начать. Есть поток mms://live.rfn.ru/rtr-planeta_64 , посредством чего мне его воспроизводить, а потом еще и записать локально в avi формат.
С воспроизведением разобрался. Пробовал через mediaelement, делал все правильно, но не работало. Потом прогуглив, оказалось, что из-за WMP 9 версии mediaelement не работает. Обновил до 10- все гуд.
Теперь вопрос записи из mediaelement. Как это сделать?
Решение задачи: «Запись потокового видео»
textual
Листинг программы
public class Listener { private TcpListener _listener; public Listener() { _listener = new TcpListener(IPAddress.Parse("127.0.0.1"), xxxx); //catch the MediaPlayer requests here ListenForClients(); } .... //do streaming and caching here private int StreamAndSave(Stream outputNetStream, Stream responceStream, Stream fileStream, long fileSize) { int bytesRead = 0; byte[] buffer = new byte[4096]; while (fileSize > 0) { int readBytes = responceStream.Read(buffer, 0, buffer.Length); if (readBytes > 0) { try { //write bytes to response and send it to MediaPlayer outputNetStream.Write(buffer, 0, readBytes); //save to the file system fileStream.Write(buffer, 0, readBytes); bytesRead += readBytes; } catch (Exception e) { break; } } else break; fileSize -= readBytes; } return bytesRead; } } //Set appropriate source to the MediaElement: <MediaElement Source="http://localhost/xxxx" /> //It works for me. //Thanks, //Sam
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д