Мне удалось записать видео через Mediarecorder на SD-карту, но я хочу отправить это видео на сервер без записи на SD-карту.Я искал его и обнаружил, что parcelFileDescriptor - это способ отправки видео в сокет TCP, но я не знаю, как его получить на стороне сервера, пожалуйста, объясните это.Вот мой код на стороне клиента
socket = new Socket("hostname", portnumber);
ParcelFileDescriptor pfd =ParcelFileDescriptor.fromSocket(socket);
recorder = new MediaRecorder();
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setOutputFile(pfd.getFileDescriptor());
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
mPreview = new Preview(VideoRecorder.this,recorder);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(mPreview);
Я хочу получить его на стороне сервера и воспроизвести для создания видеопередачи в реальном времени.
зная, что "MediaRecorder записывает либо в формате 3GPP, либо в формате MP4. Этот формат файла состоит из атомов, где каждый атом начинается с его размера. В файле есть разные виды атомов, атомы mdat хранят фактическиенеобработанные кадры закодированного видео и аудио. В версии Cupcake Android начинает записывать атом mdat с закодированными кадрами, но по очевидным причинам он должен оставить размер атома пустым. При записи в дескриптор искомого файла он можетпросто заполните пропуски после записи, но, конечно, дескрипторы файлов сокетов не подлежат поиску. Поэтому полученный поток должен быть исправлен после завершения записи, или необработанные видео / аудио кадры должны быть обработаны сервером ".
Я хочу код стороны сервера (может быть, на телефоне или Android).если есть другой способ, пожалуйста, помогите мне ......
Спасибо