_DEN_ Я занимался потоковым видео. Попробуй Elecard StreamEye Tools Либо да - ссылку на файл. Гляну на заголовки.
trash_master Нисколько не шифруемся. По теме все будет описано тут самим _DEN_ SadKo mplayer сам тоже многое не знает - ибо это опять же разработка на основе ffdshow. А он не всеобъемлен. Нужна конкретика, глянуть заголовки того потока. Может дело не в контейнере а в том что в самом контейнере. Я сталкивался с похожими проблемами - вроде контейнер AVI а в него впихнули MPEG4 Visual с возможностями Binary Shape и Scalability + это еще было представлено как ES (Elementary Stream). В итоге даже Elecard утилиты не спасли. Пришлось свой парсер заголовков писать, а потом еще и декодер (да да, ентропийный декодер, деквантователь, предсказатель движения и тп, эх, а все из за того что всего лишь существующие кодеки решили не поддерживать этот стандарт). Возможно есть частное решение - но в интернете в паблике я не нашел.
Насчёт ffdshow не в курсе, но знаю, что юзает libavcodec и libavformat, что входят в проект ffmpeg. А ffmpeg умеет H.264, правда пока только Sorenson.
SadKo Да, умеет, но я уже понял что там за видео - там короче MPEG4 ES . А его не всякие плейер умеет проигрывать. Ибо это не контейнер. mplayer это не цепляет через URL - хотя он бы смог подхватить (не факт). Там идет тупо передача VOP последовательностей. Пока продолжаю медитировать. Но по сути - сервер какаято разработка будем говорит нестандартная - там нет спец сеансов инициализации. Я так понял кадры идут сразу. Но на сколько верно - непонятно еще. Есть подозрение что он посылает заголовок последовательности потом последовательность IPP потом очередной заголовок (наверно чтоб не потерять разрывы связи).
Так, значит сделал вывод. с 1 стороны печальный для _DEN_ а с другой стороны нет. Начнем с хорошего. Это видео основано на формате MPEG4 ES libavformat. Самое веселое - закачал этот стрим в файл. Провел некоторый анализ: 1) mplayer его открывает (файл а не стрим) но проиграть не может 2) анализ потока показал следующее Код (Text): ============================<<< Stream >>>============================ 0x00000076 MPEG4 Header Video Object 0x00000088 MPEG4 Header Video Object 0x0000008C Video Object Layer random_accessible_vol = 0 video_object_type_indication = 1 (Simple Object Type) is_object_layer_identifier = 1 video_object_layer_verid = 1 video_object_layer_priority = 1 aspect_ratio_info = 1 vol_control_parameters = 0 video_object_layer_shape = 0 (SHAPE_RECTANGULAR) vop_time_increment_resolution = 30000 time_inc_bits = 15 fixed_vop_rate = 0 video_object_layer_width = 704 video_object_layer_height = 288 interlaced = 0 obmc_disable = 1 sprite_enable = 0 not_8_bit = 0 quant_type = 0 complexity_estimation_disable = 1 resync_marker_disable = 0 data_partitioned = 0 scalability = 0 0x0000009B Video Object Plane - I Frame #0 vop_coding_type = 0 modulo_time_base = 0 vop_time_increment = 8400 vop_coded = 1 vop_id = 675 vop_id_for_prediction_indication = 0 vop_reduced_resolution = 0 0x00006BC1 Video Object Plane - P Frame #1 vop_coding_type = 1 modulo_time_base = 0 vop_time_increment = 12000 vop_coded = 1 vop_id = 17359 vop_id_for_prediction_indication = 1 vop_id_for_prediction = 32767 vop_rounding_type = 1 vop_reduced_resolution = 1 0x00006C48 Video Object Plane - P Frame #2 vop_coding_type = 1 modulo_time_base = 0 vop_time_increment = 15600 vop_coded = 1 vop_id = 527 vop_id_for_prediction_indication = 1 vop_id_for_prediction = 12672 vop_rounding_type = 1 vop_reduced_resolution = 0 0x00006F2F Video Object Plane - P Frame #3 vop_coding_type = 1 modulo_time_base = 0 vop_time_increment = 19200 vop_coded = 1 vop_id = 16648 vop_id_for_prediction_indication = 1 vop_id_for_prediction = 8987 vop_rounding_type = 0 vop_reduced_resolution = 1 0x00008DAB MPEG4 Header Video Object 0x00008DBD Video Object Plane - P Frame #4 vop_coding_type = 1 modulo_time_base = 0 vop_time_increment = 22800 vop_coded = 1 vop_id = 264 vop_id_for_prediction_indication = 1 vop_id_for_prediction = 8967 vop_rounding_type = 0 vop_reduced_resolution = 1 И в графическом виде прикрепил файл. Смыл в том что во первых , пакеты ищую синхронизинуясь с заголовками, а во вторых, там как то закодирован звук (пока еще не разобрался) Но думаю _DEN_ сделает вывод сам
Надо сначала попробовать ffmpeg'ом сконвертить это файло в какой-нить другой формат. Думаю, если он укажет входной формат raw h264, то может прокатить.
SadKo Это то понятно что возможно прокатит, вариант есть, но, здесь ситуация немного другая. По сути у _DEN_ стоит задача воспроизводить потоковое видео, при чем в реалтайме, а операция сохранения + конверт + декодинг = слишком долгая. В общем надо дождаться автора топика и пусть он решит )
В аттаче пример стрима посмотреть можно wireshark (tcpdump) H264 VLC играет иж бегом. могут быть проблемы с кодеками на клиенте.
В аттаче пример стрима посмотреть можно wireshark (tcpdump) H264 VLC играет иж бегом. могут быть проблемы с кодеками на клиенте.