Darwin Streaming Server中mp4文件点播失败,通过抓包发现服务器返回”415 Unsupported Media Type“错误,如下:

RTSP/1.0  Unsupported Media Type

Server: DSS/6.0. (Build/526.3; Platform/Linux; Release/Darwin Streaming Server; State/Development; )

Cseq: 

Connection: Close

解决方案如下:

用mp4box来hint文件

yingc@yingc:~/media/video$ MP4Box  h.mp4 -info
* Movie Info *
Timescale - Duration ::35.062
Fragmented File no - track(s)
File Brand mp42 - version
Created: GMT Sun Jul :: File has root IOD ( bytes)
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: ISO Reserved Profile (0x7f)
Audio PL: High Quality Audio Profile @ Level (0x0f)
No streams included in root OD iTunes Info:
Encoder Software: tv.sohu.com v3.3.0 Track # Info - TrackID - TimeScale - Duration ::34.920
Media Info: Language "Undetermined" - Type "vide:avc1" - samples
Visual Track layout: x= y= width= height=
MPEG- Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size x
AVC Info: SPS - PPS - Profile Main @ Level
NAL Unit length bits: yingc@yingc:~/media/video$ MP4Box h.mp4 -hint
Hinting file with Path-MTU Bytes
Hinting track ID - Type "avc1:avc1" (H264) - BW kbps
Hinting track ID - Type "mp4a:mp4a" (mpeg4-generic) - BW kbps
Saving h.mp4: 0.500 secs Interleaving yingc@yingc:~/media/video$ ffprobe h.mp4
ffprobe version 2.2. Copyright (c) - the FFmpeg developers
built on Apr :: with gcc 4.6 (Ubuntu/Linaro 4.6.-1ubuntu5)
configuration: --prefix=/home/yingc/git/thirdparty/av/ffmpeg/output/ffmpeg_build/ --bindir=/home/yingc/git/thirdparty/av/ffmpeg/output/bin --extra-cflags=' -I/home/yingc/git/thirdparty/av/ffmpeg/output/ffmpeg_build/include' --extra-ldflags=-L/home/yingc/git/thirdparty/av/ffmpeg/output/ffmpeg_build/lib --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab --disable-stripping --enable-extra-warnings --disable-optimizations --enable-openssl --enable-static --enable-debug=
libavutil . 66.100 / . 66.100
libavcodec . 52.102 / . 52.102
libavformat . 33.100 / . 33.100
libavdevice . 10.100 / . 10.100
libavfilter . 2.100 / . 2.100
libswscale . 5.102 / . 5.102
libswresample . 18.100 / . 18.100
libpostproc . 3.100 / . 3.100
Input #, mov,mp4,m4a,3gp,3g2,mj2, from 'h.mp4':
Metadata:
major_brand : mp42
minor_version :
compatible_brands: mp42isomavc1
creation_time : -- ::
encoder : tv.sohu.com v3.3.0
Duration: ::35.16, start: 0.000000, bitrate: kb/s
Stream #:(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 640x368, kb/s, fps, tbr, 90k tbn, tbc (default)
Metadata:
creation_time : -- ::
Stream #:(und): Audio: aac (mp4a / 0x6134706D), Hz, stereo, fltp, kb/s (default)
Metadata:
creation_time : -- ::
Stream #:(und): Data: none (rtp / 0x20707472), kb/s (default)
Metadata:
creation_time : -- ::
handler_name : GPAC ISO Hint Handler
Stream #:(und): Data: none (rtp / 0x20707472), kb/s (default)
Metadata:
creation_time : -- ::
handler_name : GPAC ISO Hint Handler
Unsupported codec with id for input stream
Unsupported codec with id for input stream

unhint文件:

yingc@yingc:~/media/video$ MP4Box  h.mp4 -unhint
Removing hint track ID
Removing hint track ID
Saving h.mp4: 0.500 secs Interleaving yingc@yingc:~/media/video$ ffprobe h.mp4
ffprobe version 2.2. Copyright (c) - the FFmpeg developers
built on Apr :: with gcc 4.6 (Ubuntu/Linaro 4.6.-1ubuntu5)
configuration: --prefix=/home/yingc/git/thirdparty/av/ffmpeg/output/ffmpeg_build/ --bindir=/home/yingc/git/thirdparty/av/ffmpeg/output/bin --extra-cflags=' -I/home/yingc/git/thirdparty/av/ffmpeg/output/ffmpeg_build/include' --extra-ldflags=-L/home/yingc/git/thirdparty/av/ffmpeg/output/ffmpeg_build/lib --extra-libs=-ldl --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-x11grab --disable-stripping --enable-extra-warnings --disable-optimizations --enable-openssl --enable-static --enable-debug=
libavutil . 66.100 / . 66.100
libavcodec . 52.102 / . 52.102
libavformat . 33.100 / . 33.100
libavdevice . 10.100 / . 10.100
libavfilter . 2.100 / . 2.100
libswscale . 5.102 / . 5.102
libswresample . 18.100 / . 18.100
libpostproc . 3.100 / . 3.100
Input #, mov,mp4,m4a,3gp,3g2,mj2, from 'h.mp4':
Metadata:
major_brand : mp42
minor_version :
compatible_brands: mp42isomavc1
creation_time : -- ::
encoder : tv.sohu.com v3.3.0
Duration: ::35.02, start: 0.000000, bitrate: kb/s
Stream #:(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 640x368, kb/s, fps, tbr, 90k tbn, tbc (default)
Metadata:
creation_time : -- ::
Stream #:(und): Audio: aac (mp4a / 0x6134706D), Hz, stereo, fltp, kb/s (default)
Metadata:
creation_time : -- ::

参考:

用mp4box来hint文件的操作很简单

Darwin Streaming Server服务器mp4文件点播返回”415 Unsupported Media Type“错误的更多相关文章

  1. request 报错The remote server returned an error: (415) Unsupported Media Type.

    开发时遇到个问题,程序访问数据库数据,给服务器发送请求时,老是报错,返回的错误页面是: HTTP Status 415 - Unsupported Media Type type Status rep ...

  2. System.Net.WebException : The remote server returned an error: (415) UNSUPPORTED MEDIA TYPE

    I am having problems with a bit of code that accesses a restful web service. Running this code, it e ...

  3. (转)CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器

    参考: 1,CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器 http://www.yimiju.com/articles/567.html

  4. Darwin Streaming Server 简介

    Darwin Streaming Server     概要 Darwin Streaming Server简称DSS.DSS是Apple公司提供的开源实时流媒体播放服务器程序.整个程序使用C++编写 ...

  5. Darwin Streaming Server 核心代码分析

    基本概念 首先,我针对的代码是Darwin Streaming Server 6.0.3未经任何改动的版本. Darwin Streaming Server从设计模式上看,采用了Reactor的并发服 ...

  6. Darwin Streaming Server 安裝操作備忘

    Darwin Streaming Server 安裝操作 Darwin Streaming Server是蘋果公司推出的開放源碼.跨平台多媒體串流伺服器, 提供音樂 (mp3) 與影音 (3gp.mp ...

  7. Linux编译安装Darwin Streaming Server 6.0.3

    买回来VPS后就一直想在上面搭建一个流媒体服务,在网上搜索了很多资料,大部分都是介绍Linux中安装Darwin Streaming Server 5.5.5版本,因为这个版本提供了针对linux的安 ...

  8. Darwin Streaming Server Relay Setting

    安装完Darwin Streaming Server,就可以使用VLC通过RTSP协议播放流媒体文件了.但是我现在有一个需求,需要将一台DSS(假设为A机)上的媒体文件发送到另一台DSS(假设为B机) ...

  9. Linux编译安装Darwin Streaming Server 6.0.3。。。

    目前主流的流媒体服务器有微软的windows media server.RealNetworks的Helixserver和苹果公司的Darwin Streaming Server. 微软的window ...

随机推荐

  1. Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中

    Python enum 枚举 判断 key(键) 或者 value(值)是否在枚举中 python 的基本用法请浏览:https://www.cnblogs.com/ibingshan/p/98564 ...

  2. JavaEE 之 Spring Data JPA

    1.事务 a.事务的关键属性(ACID) ①原子性(atomicity):事务的原子性确保动作要么全部完成,要么完全不起作用 ②一致性(consistency):一旦所有事务动作完成,事务就被提交.也 ...

  3. CSS-变量

    为什么使用 css variables 借用Scrimba上的: easier to get started (no transpiling) have access to the DOM 1.loc ...

  4. 在windows上安装redis并设置密码

    在windows上安装redis Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的Web应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redi ...

  5. re模块、hashlib模块

    一.re模块 1.什么是正则? 正则就是用一系列具有特殊含义的字符组成一套规则,该规则用来描述具有某一特征的字符串,正则就是用来去一个大的字符串中匹配出符合规则的子字符串 2.为何要用正则? 用户注册 ...

  6. easyui中对数据的判断来显示,formatter控制

    需求效果图:(把编辑按钮根据信息是否发布,来选择显示与不显示,已发布的不能够进行编辑所以不显示) 上图中的flag为发布标识,flag值1为已发布,值2为未发布 思路:第一想到的是给这个button按 ...

  7. Java读取接口中的数据,并保存到txt文件中!

    //创建读取接口中数据的方法 public static String read() { URL url = null; BufferedReader reader = null; HttpURLCo ...

  8. 2017-9-15-Linux移植:WinSCP软件 & SSH Server开启

    在Linux电脑上面安装了TFTP server,但是各种不给力,决定寻找其他办法在Windows和Linux之间传输文件. WinSCP 是一个 Windows 环境下使用 SSH 的开源图形化 S ...

  9. IDEA中的常用设置

    ps:对于开发工具,不同的开发人员有不同的设置喜好,这里介绍的是我个人的配置,不喜勿喷. Appearance:个人喜欢全黑主题,雅黑字体 背景图片, 效果如下,编写代码的时候有个自己喜欢的背景图片, ...

  10. Java 作业 二

    编写一个Java应用程序,统计数组{1,3,4,7,2,1,1,5,2,5,7,2,1,1,3},统计显示每种数字其出现的次数以及出现最多和最少次数的数字. package hi; public cl ...