标签: mp4

使用Nginx进行分布式缓存MP4 PseudoStreaming(搜索)

我尝试使用nginx(origin + edge)设置至少2台服务器.都用mp4 -module 编译.原点包含我所有的mp4文件.Edge配置了所有按预期工作的缓存内容(见下文),第二次每个mp4文件请求由没有原始流量的边缘缓存提供.

但我希望能够在文件中寻找.功能来自mp4模块.只需追加查询参数"?start = 120"即告诉nginx以时间戳120秒开始提供mp4内容.这适用于直接请求的原点.但是只要我在nginx的缓存位置启用mp4-module,请求就会是404.

nginx.conf @ origin:

server {
  listen       80;
  server_name  localhost;
  root         /usr/share/nginx/www;
  location ~ \.mp4$ {
    mp4;
    expires max;
  }
}
Run Code Online (Sandbox Code Playgroud)

nginx.conf @ edge:

proxy_cache_path /usr/share/nginx/cache levels=2:2 keys_zone=icdn_cache:10m inactive=7d max_size=2g;
proxy_temp_path /usr/share/nginx/temp;
proxy_ignore_headers X-Accel-Expires Cache-Control Set-Cookie;
log_format cache '[$time_local] Cache: $upstream_cache_status $upstream_addr $upstream_response_time $status $bytes_sent $proxy_add_x_forwarded_for $request_uri';
access_log /usr/local/nginx/logs/cache.log cache;

upstream origin {
  server <origin-domain>;
}
server {
  listen       80;
  server_name  localhost;

  location ~ \.mp4$ {
    mp4;
    proxy_cache icdn_cache;
    proxy_pass http://origin;
    proxy_cache_key …
Run Code Online (Sandbox Code Playgroud)

mp4 caching cdn nginx pseudo-streaming

8
推荐指数
1
解决办法
4047
查看次数

谷歌浏览器不想使用mediaelement.js播放mp4

我在我的网站上使用最新的mediaelement.js播放html5视频.Google Chrome中有一些奇怪的东西.他播放一个视频,但不想播放mp4格式的其他视频,也不想回到webm.两个视频都使用ffmpeg转换为这个参数:

ffmpeg -i input.mov -acodec libfaac -ab 96k -vcodec libx264 -vpre slower -vpre main -level 21 -refs 2 -b 345k -bt 345k -threads 0 -s 640x360 output.mp4
Run Code Online (Sandbox Code Playgroud)

此外,第一个视频正常播放,不使用mp4格式的mediaelement.js库,第二个视频转为webm格式.

样本页面来自http://random.net.ua/video_test/:

  • http://random.net.ua/video_test/video1.html (好)
  • http://random.net.ua/video_test/video2.html (好)
  • http://random.net.ua/video_test/video1-mediaelement.html (好)
  • http://random.net.ua/video_test/video2-mediaelement.html (失败)

video html5 mp4 google-chrome mediaelement

8
推荐指数
1
解决办法
9404
查看次数

html5视频标签和http 206部分内容

我正在尝试在视频标签中加载mp4文件.

    <!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Video</title>
        <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
        <!--script type="text/javascript" src="app.js"></script-->
        <script type="text/javascript">
            $(document).ready(function(){

            });
        </script>

    </head>
    <body>
        <video src="video2.mp4" autoplay="true" controls="true"></video>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

问题是我已经返回了206个部分内容,但我无法看到任何内容.可能是什么问题?

视频网址为:http: //michelepierri.it/examples/video/video2.mp4

谢谢.

video mp4 html5-video

8
推荐指数
0
解决办法
8175
查看次数

如何将H264包装到mp4容器中?

我有一个程序生成一堆原始的H264帧,并希望将其放入一个mp4容器进行流式传输.

谁知道怎么做?

我当时认为我会使用ffmpeg,这需要在商业上使用,似乎ffmpeg只能通过它使用GPL许可证的x264库来实现.

谢谢!

mp4 ffmpeg h.264

8
推荐指数
2
解决办法
1万
查看次数

通过ffmpeg从jpg转换为mp4

我有320 jpg(320x574)图像,我用2004 fps录制它们.我想制作一个.mp4视频.我在cmd(win7)中运行了以下代码,它只是制作了一个jpg编号为320的视频,如果我去了这个('*.jpg'),它的内容是320,它就不起作用了.我非常感谢任何帮助.

ffmpeg -r 1/5 -i C:\data-Sam\320.jpg -c:v libx264 -r 30 -pix_fmt yuv420p C:\data-Sam\out.mp4
Run Code Online (Sandbox Code Playgroud)

mp4 jpeg ffmpeg

8
推荐指数
4
解决办法
3万
查看次数

ffmpeg 2.4.2连接mp4文件

我试图一个接一个地连接一些mp4文件.我执行以下操作:

ffmpeg -i concat:1.mp4\|2.mp4\|3.mp4\|4.mp4 -c copy final_output.mp4
Run Code Online (Sandbox Code Playgroud)

但总是得到消息"[mov,mp4,m4a,3gp,3g2,mj2 @ 0x148d420]发现重复的MOOV Atom.跳过它"

这是输出:

    ffmpeg version 2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
  built on Oct  6 2014 17:33:05 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/opt/ffmpeg --libdir=/opt/ffmpeg/lib/ --enable-shared --enable-avresample --disable-stripping --enable-gpl --enable-version3 --enable-runtime-cpudetect --build-suffix=.ffmpeg --enable-postproc --enable-x11grab --enable-libcdio --enable-vaapi --enable-vdpau --enable-bzlib --enable-gnutls --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libvo-aacenc --enable-nonfree --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfdk_aac --enable-libopus --enable-pthreads --enable-zlib --enable-libvpx --enable-libfreetype --enable-libpulse --enable-debug=3
  libavutil      54.  7.100 / 54.  7.100
  libavcodec     56.  1.100 …
Run Code Online (Sandbox Code Playgroud)

video mp4 concat ffmpeg ffserver

8
推荐指数
2
解决办法
5344
查看次数

适用于Chrome的ffmpeg选项

我试图找到使mp4在Chrome中运行的神奇选项.我认为我的视频有效,但Chrome更新后似乎没有了.

Chrome,版本41.0.2272.101(Windows)

我尝试了其他一些机器,发现一些视频适用于旧版本,而我的Mac似乎仍然适用于最新的Chrome.

我正在使用ffmpeg选项从png系列转换,

ffmpeg -framerate 10 -i dance%02d.png  -r 10 -pix_fmt yuv420p dance.mp4
Run Code Online (Sandbox Code Playgroud)

有些视频有效,有些则无效,有些视频有效,或者中途停止.

我试过各种其他选择,比如

ffmpeg -start_number 16 -framerate 10 -i dance%02d.png -r 10 -an -s hd720 \
-vcodec libx264 -pix_fmt yuv420p -preset slow -profile:v baseline \
-movflags faststart -y dance.mp4
Run Code Online (Sandbox Code Playgroud)

但这似乎让事情变得更糟.

这是其中一个视频, http://www.botlibre.com/media/a786625.mp4

另一个, http://www.botlibre.com/media/a812450.mp4

Firefox似乎在任何版本,灰色背景上都没有问题.IE工作正常,白色背景.Safari工作,灰色背景.

另一件事,他们的视频曾经在较旧的Chrome版本上有白色背景,但现在是灰色的,除了Mac还是白色.

还有一件事.Webm格式有效,但是有人知道删除透明度的选项吗?我正在使用,

ffmpeg -i dance%02d.png  -r 10 -c:v libvpx -crf 10 -b:v 512k -c:a libvorbis dance.webm
Run Code Online (Sandbox Code Playgroud)

只想要一个坚实的白色背景.

video mp4 google-chrome ffmpeg webm

8
推荐指数
1
解决办法
961
查看次数

FFMPEG中创建碎片MP4的刷新和延迟问题

我正在使用以下命令为html5流创建一个支离破碎的mp4:

-i rtsp://172.20.28.52:554/h264 -vcodec copy -an -f mp4 -reset_timestamps 1 -movflags empty_moov+default_base_moof+frag_keyframe -loglevel quiet -
Run Code Online (Sandbox Code Playgroud)
  1. "-i rtsp://172.20.28.52:554/h264"因为源是来自ip camera的rtp数据包流中的h264.为了测试,摄像机的GOP设置为1(即所有帧都是关键帧)
  2. "-vcodec copy"因为我不需要转码,只能转换到mp4.
  3. "-movflags empty_moov + default_base_moof + frag_keyframe"根据媒体源扩展规范创建一个分段的mp4.
  4. " - "最后为了输出mp4到stdout.我抓住了输出并通过网络套接字将其发送到webclient.

一切都运行良好,期待我试图解决的延迟问题.如果我每次从stdout进入数据时都会记录,并且到达时间戳,我得到这个输出:

16/06/2015 15:40:45.239数据大小= 24

16/06/2015 15:40:45.240得到的数据大小= 7197

16/06/2015 15:40:45.241得到数据大小= 32768

2015年6月16日15:40:45.241数据大小= 4941

2015年6月16日15:40:45.241数据大小= 12606

2015年6月16日15:40:45.241数据大小= 6345

16/06/2015 15:40:45.241得到数据大小= 6339

2015年6月16日15:40:45.242得到数据大小= 6336

2015年6月16日15:40:45.242得到数据大小= 6361

2015年6月16日15:40:45.242获得数据大小= 6337

16/06/2015 15:40:45.242得到数据大小= 6331

2015年6月16日15:40:45.242得到数据大小= 6359

16/06/2015 15:40:45.243得到的数据大小= 6346

16/06/2015 15:40:45.243得到的数据大小= 6336

2015年6月16日15:40:45.243数据大小= 6338

2015年6月16日15:40:45.243得到数据大小= 6357

2015年6月16日15:40:45.243得到数据大小= 6357

16/06/2015 15:40:45.243得到的数据大小= 6322

16/06/2015 15:40:45.243得到数据大小= 6359

2015年6月16日15:40:45.244数据大小= 6349

16/06/2015 …

mp4 ffmpeg video-streaming media-source mpeg-dash

8
推荐指数
1
解决办法
5027
查看次数

Android无法播放H264/AAC视频

我们正在iOS应用程序中录制视频文件,并希望它们在iOS/Android/Web上播放.所以我们选择了MP4容器中的H264/AAC.但是,在不同的设置中,iOS H264视频不会在Android设备上播放(LG D335/Galaxy S4).我们如何播放视频?简单的测试方法是从直接链接下载视频,然后在Android设备上的下载中打开它.对于任何iOS H264视频,我们收到"无法播放此文件"/"抱歉,此视频无法播放"

视频文件的Mediainfo如下.

想知道为什么这些视频文件无法在Android上播放,而它是H264/AAC和Baseline配置文件?

谢谢.

MediaInfo输出

iOS 1280x720:

General
Complete name                            : /Users/a/Desktop/ios_1280.mp4
Format                                   : MPEG-4
Format profile                           : QuickTime
Codec ID                                 : qt  
File size                                : 6.46 MiB
Duration                                 : 1s 220ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 44.5 Mbps
Recorded date                            : 2015-08-20T20:33:20+0300
Encoded date                             : UTC 2015-08-20 17:33:20
Tagged date                              : UTC 2015-08-20 17:33:22
Writing application                      : 7.1.2
Writing library                          : Apple QuickTime
Model                                    : iPhone 4
Make                                     : …
Run Code Online (Sandbox Code Playgroud)

video mp4 android h.264 ios

8
推荐指数
0
解决办法
1808
查看次数

WhatsApp视频作为Gif在Android上以编程方式共享

我怎样才能将mp4视频文件转换为WhatsApp gif文件(它简单显示为应用程序用户界面内的gif,但内部是一种特定的mp4格式)用于android共享意图,被whatsapp聊天应用程序识别为此类媒体? ??

我搜索了很多,但我找不到WhatsApp文档中的任何信息(他们没有这种文档)或任何与我有相同问题的开发者.

是)我有的:

我发现在whatsapp"gif"mp4文件的开头是一个循环值,如果你在十六进制编辑器上读取它们,所有文件都有这个.删除此值使whatsapp作为常规视频接收(不作为gif共享).

如何使用ffmpeg编码添加此值?(用这个值手动编辑我的mp4文件会破坏文件,也许我必须修复一些我还不知道的mp4标题索引...)

在此输入图像描述

以十六进制表示的第一个80字节(从mp4结构开始的"moov"原子开始):

00 00 00 1C 66 74 79 70 6D 70 34 32 00 00 00 01 6D 70 34 31 6D 70 34 32 69 73 6F 6D 00 00 00 18 62 65 61 6D 01 00 00 00 01 00 00 00 00 00 00 00 05 00 00 00 00 00 00 0C 6C 6F 6F 70 00 00 00 00 00 00 00 08 77 69 …

video mp4 android ffmpeg whatsapp

8
推荐指数
1
解决办法
1020
查看次数