Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#72 closed defect (fixed)

Bad mp4 handling

Reported by: www.google.com/accounts/o8/id?id=AItOawnyr7O2aZc34yaIa9_yYGhHTXzH31fsthY Owned by: Maxim Dounin
Priority: minor Milestone:
Component: nginx-module Version: 1.0.x
Keywords: mp4, streaming Cc:
uname -a: Linux media108.activesoft.ro 2.6.18-92.el5 #1 SMP Tue Jun 10 18:51:06 EDT 2008 x86_64 x86_64 x86_64 GNU/Linux
nginx -V: nginx: nginx version: nginx/1.0.8
nginx: built by gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
nginx: TLS SNI support disabled
nginx: configure arguments: --prefix=/etc/nginx/ --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/ninx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --wih-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --ith-mail --with-mail_ssl_module --with-file-aio --with-ipv6 --with-http_stub_status_module --add-module=./contrib/accesskey/ --add-module=./contrib/mp4_streaming/ --wit-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'

Description

The built in MP4 module corrupts files produced by ffmpeg 0.9.
While it's true that our setup had both the built in module *AND* the third party one, we did retest with 1.0.11 and only the builtin and the same error persisted. The issue seems to be solved by http://h264.code-shop.com/trac/wiki/Mod-H264-Streaming-Nginx-Version2

The generated file is most likely not cut on a keyframe boundary because the audio works fine, and playing the file in mplayer shows some motion similar to the original video.

Attachments (1)

patch-nginx-mp4.txt (828 bytes ) - added by Maxim Dounin 13 years ago.

Download all attachments as: .zip

Change History (6)

comment:1 by www.google.com/accounts/o8/id?id=AItOawnyr7O2aZc34yaIa9_yYGhHTXzH31fsthY, 13 years ago

Sorry, I wanted to upload a sample file, but I couldn't find a small enough one.

You can download a sample from our CDN: http://s2.220.t1.ro/?mmid=46ae3f4e114010965

by Maxim Dounin, 13 years ago

Attachment: patch-nginx-mp4.txt added

comment:2 by Maxim Dounin, 13 years ago

Owner: changed from somebody to Maxim Dounin
Status: newassigned

Please try the attached patch. It resolves issues with the sample you've provided.

comment:3 by Maxim Dounin, 13 years ago

In [4383/nginx]:

Fixed mp4 if first entry in stsc was skipped (ticket #72).

If first entry in stsc atom was skipped, and seek was to chunk boundary,
than first_chunk in the generated stsc table wasn't set to 1.

comment:4 by Maxim Dounin, 13 years ago

Resolution: fixed
Status: assignedclosed

comment:5 by Maxim Dounin, 13 years ago

In [4442/nginx]:

Merge of r4383, r4403:

MP4 fixes:

*) Fixed mp4 if first entry in stsc was skipped (ticket #72).

If first entry in stsc atom was skipped, and seek was to chunk
boundary, than first_chunk in the generated stsc table wasn't
set to 1.

*) Fixed handling of mp4 above 2G and 32bit offsets (ticket #84).

Note: See TracTickets for help on using tickets.