Запись потокового видео - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д