Giter Club home page Giter Club logo

qtfaststart's Introduction

Quicktime/MP4 Fast Start

Enable streaming and pseudo-streaming of Quicktime and MP4 files by moving metadata and offset information to the front of the file.

This program is based on qt-faststart.c from the ffmpeg project, which is released into the public domain, as well as ISO 14496-12:2005 (the official spec for MP4), which can be obtained from the ISO or found online.

The goals of this project are to run anywhere without compilation (in particular, many Windows and Mac OS X users have trouble getting qt-faststart.c compiled), to run about as fast as the C version, to be more user friendly, and to use less actual lines of code doing so.

Features

  • Works everywhere Python (2.6+) can be installed
  • Handles both 32-bit (stco) and 64-bit (co64) atoms
  • Handles any file where the mdat atom is before the moov atom
  • Preserves the order of other atoms
  • Can replace the original file (if given no output file)

Installing from PyPi

To install from PyPi, you may use easy_install or pip:

easy_install qtfaststart

Installing from source

Download a copy of the source, cd into the top-level qtfaststart directory, and run:

python setup.py install

If you are installing to your system Python (instead of a virtualenv), you may need root access (via sudo or su).

Usage

See qtfaststart --help for more info! If outfile is not present then the infile is overwritten:

$ qtfaststart infile [outfile]

To run without installing you can use:

$ bin/qtfaststart infile [outfile]

To see a list of top-level atoms and their order in the file:

$ bin/qtfaststart --list infile

If on Windows, the qtfaststart script will not execute, so use:

> python -m qtfaststart ...

History

  • 2013-08-07: Copy input file permissions to output file.
  • 2013-08-06: Fix a bug producing 8kb mdat output.
  • 2013-07-05: Introduced Python 3 support.
  • 2013-07-05: Added launcher via 'python -m qtfaststart'.
  • 2013-07-05: Internal refactoring for clarity and robustness. Functions now work with named tuples. Backward compatability is maintained. Expect a future, backward-incompatible release to replace other functions.
  • 2013-07-05: Created an Atom namedtuple to represent a fourcc atom (name, stream position, and size).
  • 2013-01-28: Support strange zero-name, zero-length atoms, re-license under the MIT license, version bump to 1.7
  • 2011-11-01: Fix long-standing os.SEEK_CUR bug, version bump to 1.6
  • 2011-10-11: Packaged and published to PyPi by Greg Taylor <gtaylor AT duointeractive DOT com>, version bump to 1.5.
  • 2010-02-21: Add support for final mdat atom with zero size, patch by Dmitry Simakov <basilio AT j-vista DOT ru>, version bump to 1.4.
  • 2009-11-05: Added --sample option. Version bump to 1.3
  • 2009-03-13: Update to be more library-friendly by using logging module, rename fast_start => process, version bump to 1.2
  • 2008-10-04: Bug fixes, support multiple atoms of the same type, version bump to 1.1
  • 2008-09-02: Initial release

License

Copyright (C) 2008 - 2013 Daniel G. Taylor <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

qtfaststart's People

Contributors

danielgtaylor avatar jaraco avatar mgoblue80 avatar reinecke avatar wandenberg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qtfaststart's Issues

Preserve timestamp of modified file

I have a patch for preserving timestamp of modified file.
You can include it into next version.

--- qtfaststart.ori 2012-02-22 03:45:51.290130562 +0100
+++ qtfaststart 2012-02-22 03:36:45.574130608 +0100
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python

 """
     Command line script for convenience. If this is in your path, you should
@@ -12,6 +12,7 @@
 import shutil
 import sys
 import tempfile
+from stat import *

 # Add parent directory to sys.path so that running from dev environment works
 sys.path.append(os.path.dirname(os.path.dirname((os.path.abspath(__file__)))))
@@ -72,7 +73,9 @@
     if options.sample:
         # Create a small sample (4 MiB)
         limit = 4 * (1024 ** 2)
-    
+
+    stats = os.stat(args[0])
+    mtime, atime = (stats[ST_MTIME], stats[ST_ATIME])
     try:
         processor.process(args[0], outfile, limit = limit)
     except FastStartException:
@@ -82,4 +85,7 @@
     if len(args) == 1:
         # Move temp file to replace original
         shutil.move(outfile, args[0])
+        os.utime(args[0], (atime, mtime))
+    else:
+        os.utime(outfile, (atime, mtime))

Error when relocating moov atom on certain files

In 99% of test cases, the relocation works fine however, in rare instances the following error is observed. I can't find any consistent criteria about the file to indicate why this is the case, but here is the error produced:

Traceback (most recent call last):
...
  File "/usr/local/lib/python2.7/site-packages/qtfaststart/processor.py", line 197, in process
    moov = _patch_moov(datastream, moov_atom, offset)
  File "/usr/local/lib/python2.7/site-packages/qtfaststart/processor.py", line 263, in _patch_moov
    moov.write(struct.pack(struct_fmt, *offset_entries))
struct.error: 'L' format requires 0 <= number <= 4294967295

I can provide some of the file in question if needed.

qtfaststart changes files permissions after processing

I just installed via pip. Out of the box, if it processes & re-writes the file, the file perms are changed. It looks like it's defaulting to 0600. File permissions should be brought over from the original file and not changed.

Project no longer being maintained.

It appears that there is no longer any activity on this project. #17 and #19 fix bugs and have been waiting for merge for some time now.

@danielgtaylor Will you consider getting these fixes in and reviewing other issues? If time is not allowing, perhaps you will be willing to add me and/or other individuals as maintainers to the project. Thanks for your work.

Cheers,
Bradley~

qt-faststart videos don't work in iOS

Hi,

I am trying to make videos work cross-platform, so I use qt-faststart in the conversion process.

I was able to convert videos to mp4 using ffmpeg. However, after I ran qt-faststart, the videos would not work in iOS. How should I fix this while using the qt-faststart for quick playing on desktop computers? Thanks.

This file appears to already be setup! error

How to solve "This file appears to already be setup!" issue?
What it is? while i convert a file its showing in terminal.

How to convert this file?

we are using shell_exec() to execute command.

Please advice

Thank you!!

Build fails on python-3.5.1

dev# ./setup.py
./setup.py[1]: try:: not found
./setup.py[3]: except: not found
import: unable to open X server `' @ error/import.c/ImportImageCommand/358.
./setup.py[8]: syntax error: `(' unexpected

Thanks!

Fix simple typo: childeren -> children

Issue Type

[x] Bug (Typo)

Steps to Replicate

  1. Examine qtfaststart/processor.py.
  2. Search for childeren.

Expected Behaviour

  1. Should read children.

Semi-automated issue generated by
https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

To avoid wasting CI processing resources a branch with the fix has been
prepared but a pull request has not yet been created. A pull request fixing
the issue can be prepared from the link below, feel free to create it or
request @timgates42 create the PR. Alternatively if the fix is undesired please
close the issue with a small comment about the reasoning.

https://github.com/timgates42/qtfaststart/pull/new/bugfix_typo_children

Thanks.

missing attribute SEEK_CUR on OSX

I'm getting the following error trying to run this on OSX with Python 2.4.6:

carl@caymbpro:~/Desktop$ qtfaststart.py 00-keynote_small.mp4 00-keynote_small_faststart.mp4
Traceback (most recent call last):
File "/Users/carl/bin/qtfaststart.py", line 297, in ?
process(args[0], outfile, limit = limit)
File "/Users/carl/bin/qtfaststart.py", line 172, in process
index = get_index(datastream)
File "/Users/carl/bin/qtfaststart.py", line 118, in get_index
datastream.seek(atom_size - skip, os.SEEK_CUR)
AttributeError: 'module' object has no attribute 'SEEK_CUR'

Any suggestions?

Package on PyPi

This would be great to have on PyPi. I can throw together a setup.py and submit a pull request, if you'd like.

Clip does not playback after running qtfaststart

After processing my clip with qtfaststart, all I get is a "blank screen" during playback. Here is the output from qtfaststart:

$ qtfaststart -d originals/Where\ The\ Wild\ Things\ Are.mov foo.mov
Getting index of top level atoms...
ftyp: 32
free: 81680
free: 24
wide: 8
mdat: 157408258
wide: 8
mdat: 152
moov: 81684
wide: 8
mdat: 0
Removing free atom at 32 (81680 bytes)
Removing free atom at 81712 (24 bytes)
Patching stco with 503 entries
Patching stco with 589 entries
Patching stco with 1 entries
Writing output...
Writing ftyp... (32 bytes)
Writing moov... (81684 bytes)
Writing wide... (8 bytes)
Writing mdat... (157408258 bytes)
Writing wide... (8 bytes)
Writing mdat... (152 bytes)
Writing wide... (8 bytes)
Writing mdat... (0 bytes)

Running ffprobe before processing yields this:

$ ffprobe originals/Where\ The\ Wild\ Things\ Are.mov
ffprobe version 2.1 Copyright (c) 2007-2013 the FFmpeg developers
built on Nov 6 2013 10:40:42 with Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
configuration: --disable-yasm
libavutil 52. 48.100 / 52. 48.100
libavcodec 55. 39.100 / 55. 39.100
libavformat 55. 19.104 / 55. 19.104
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 90.100 / 3. 90.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'originals/Where The Wild Things Are.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2009-03-26 16:50:23
comment : Encoded and delivered by apple.com/trailers/
comment-eng : Encoded and delivered by apple.com/trailers/
copyright : © 2009 Warner Bros. Pictures. All Rights Reserved
copyright-eng : © 2009 Warner Bros. Pictures. All Rights Reserved
title : Where The Wild Things Are
title-eng : Where The Wild Things Are
timecode : 00:59:57:10
Duration: 00:02:05.17, start: 0.000000, bitrate: 10071 kb/s
Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x800, 9962 kb/s, 23.98 fps, 23.98 tbr, 2997 tbn, 5994 tbc (default)
Metadata:
creation_time : 2009-03-26 16:50:23
handler_name : Apple Alias Data Handler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 98 kb/s (default)
Metadata:
creation_time : 2009-03-26 16:50:23
handler_name : Apple Alias Data Handler
Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2009-03-26 16:50:23
handler_name : Apple Alias Data Handler
timecode : 00:59:57:10
Unsupported codec with id 0 for input stream 2

Running ffprobe on the qtfaststart processed file yields this:

$ ffprobe foo.mov
ffprobe version 2.1 Copyright (c) 2007-2013 the FFmpeg developers
built on Nov 6 2013 10:40:42 with Apple LLVM version 5.0 (clang-500.2.76) (based on LLVM 3.3svn)
configuration: --disable-yasm
libavutil 52. 48.100 / 52. 48.100
libavcodec 55. 39.100 / 55. 39.100
libavformat 55. 19.104 / 55. 19.104
libavdevice 55. 5.100 / 55. 5.100
libavfilter 3. 90.100 / 3. 90.100
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.104 / 0. 17.104
[aac @ 0x7fab72006800] Reserved bit set.
[h264 @ 0x7fab72000000] AVC: nal size 16777216
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] pps_id (39891) out of range
[h264 @ 0x7fab72000000] Partitioned H.264 support is incomplete
Last message repeated 1 times
[h264 @ 0x7fab72000000] non-existing PPS 11 referenced
[h264 @ 0x7fab72000000] decode_slice_header error
[h264 @ 0x7fab72000000] non-existing PPS 11 referenced
[h264 @ 0x7fab72000000] decode_slice_header error
[h264 @ 0x7fab72000000] Partitioned H.264 support is incomplete
[h264 @ 0x7fab72000000] Invalid mix of idr and non-idr slices
[h264 @ 0x7fab72000000] AVC: nal size 452984832
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 33554432
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 251794137
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 494834948
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 657080839
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1778999603
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 23096681
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1667986537
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 720896
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1044449304
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1568003933
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -681740841
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1135487201
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 270312624
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1533018036
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 288725277
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 693854749
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 33556705
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 194533935
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 780602439
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1802164260
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 8642747
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1837082278
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -699483136
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -2127327205
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 405791764
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -635592300
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 348192844
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1072825204
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 6508571
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1973288230
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1757807078
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1740548157
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1073876518
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1770853796
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -281542653
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1126768265
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 564305849
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1252866529
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1088922807
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1957000585
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 623128924
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1811303608
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -2052859392
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 76231749
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1011428487
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 912739778
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 841774288
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1260716054
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 763567127
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -134285786
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 510813023
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1874197071
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -419411768
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1977048437
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -2055208632
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 817394937
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 341045259
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1076008576
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1889534033
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 62873340
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -805316769
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -400672012
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -805316769
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -400672012
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -805316769
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -400672012
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -805316769
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -801344024
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1325465610
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1568003933
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1977048437
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1109089952
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1590152424
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1509334573
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1522697989
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -857960713
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 925347853
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 673279448
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1738123376
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -14294094
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1436234850
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1358890544
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1414462037
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1288733450
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1065338851
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1131464698
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 685101560
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 163852151
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1778724352
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 967376980
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 962862202
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1644044035
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1942999783
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 660387895
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 295646725
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 446348852
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1732264100
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1231594771
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1737303153
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 794690568
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 890439923
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 1965454088
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -1033098721
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 18002672
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size -917009408
[h264 @ 0x7fab72000000] no frame!
[h264 @ 0x7fab72000000] AVC: nal size 358055937
[h264 @ 0x7fab72000000] no frame!
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fab7100b400] decoding for stream 0 failed
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fab7100b400] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), 1920x800, 9962 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'foo.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2009-03-26 16:50:23
comment : Encoded and delivered by apple.com/trailers/
comment-eng : Encoded and delivered by apple.com/trailers/
copyright : © 2009 Warner Bros. Pictures. All Rights Reserved
copyright-eng : © 2009 Warner Bros. Pictures. All Rights Reserved
title : Where The Wild Things Are
title-eng : Where The Wild Things Are
timecode : 22882:30:18:05
Duration: 00:02:05.17, start: 0.000000, bitrate: 10065 kb/s
Stream #0:0(eng): Video: h264 (avc1 / 0x31637661), 1920x800, 9962 kb/s, 23.98 fps, 23.98 tbr, 2997 tbn, 5994 tbc (default)
Metadata:
creation_time : 2009-03-26 16:50:23
handler_name : Apple Alias Data Handler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 98 kb/s (default)
Metadata:
creation_time : 2009-03-26 16:50:23
handler_name : Apple Alias Data Handler
Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
Metadata:
creation_time : 2009-03-26 16:50:23
handler_name : Apple Alias Data Handler
timecode : 22882:30:18:05
Unsupported codec with id 0 for input stream 2

AttributeError: 'module' object has no attribute 'SEEK_CUR' on CentOS release 5.8 (Final)

Tried installing via easy_install and also git clone. Help screen runs, but when trying to run with an input file it gives:

Traceback (most recent call last):
File "/usr/bin/qtfaststart", line 77, in ?
processor.process(args[0], outfile, limit = limit)
File "build/bdist.linux-i686/egg/qtfaststart/processor.py", line 121, in process
File "build/bdist.linux-i686/egg/qtfaststart/processor.py", line 65, in get_index
AttributeError: 'module' object has no attribute 'SEEK_CUR'

Am running:

Linux dev 2.6.18-308.1.1.el5PAE #1 SMP Wed Mar 7 04:57:46 EST 2012 i686 i686 i386 GNU/Linux

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.