Получать и интерпретировать видео поток с gstreamer - PullRequest
2 голосов
/ 02 декабря 2011

Я написал небольшую программу для своего телефона Andorid, которая передает поток своей камеры через tcp на мой компьютер.Телефон действует как клиент, а на ПК gstreamer должен принимать поток.Поэтому я использую следующую команду:

>>gst-launch -v tcpserversrc port=8888 host=XXX.XX.XX.XXX ! \
filesink location=test.mpg

Этот метод создает поврежденный медиа-файл, который не содержит действительный заголовок.Вывод

>>file test.mpg 
test.mpg: ISO Media, MPEG v4 system, 3GPP

Но когда я использую mplayer, я получаю следующее:

>>mplayer test.mpg
...
Playing test.mpg.
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x9b22850]moov atom not found
LAVF_header: av_open_input_stream() 
failed                                                               
Seek failed
libavformat file format detected.
LAVF_header: av_open_input_stream() failed

Exiting... (End of file)

Вы можете загрузить файл по адресу https://docs.google.com/open?id=0Bwg55BOeLkowNjk1NTM0MjctMTZjYS00NDNmLTlkM2QtNmJlZTg5ZTExZDRm (как описано, это не таквоспроизводится из-за неправильного формата, но вы можете нажать для загрузки слева)

Это довольно сумасшедший, если я записываю поток в файл на устройствах Android, я получаю действительный видео файл, который работает безлюбая проблема!

Конфигурация камеры Android определяется

recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
recorder.setVideoSize(320,240);
recorder.setVideoFrameRate(15);

Как мне настроить параметры gstreamer для просмотра потока?

С наилучшими пожеланиямииз Германии Наслаждайтесь выходными

Посейдоний

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Ну, на самом деле вы не пишете правильный файл.Вы просто сбрасываете сырой поток в файл.Попробуйте воспользоваться этим дополнением к вам конвейером на ресивере:

...!h264parse split-packetized = true config-interval = 1!mp4mux name = \ "muxorig \"!\ filesink location = myfile.mp4

0 голосов
/ 26 февраля 2012

Как вы прекращаете запись?Контейнер mp4 не очень подходит для потоковой передачи.

...