Ticket #204 (closed defect: fixed)

Opened 6 years ago

Last modified 6 years ago

Indytube doesnt work with the videos with the same name, but different file extensions

Reported by: andycat Owned by: andycat
Priority: major Milestone: 0.2.3
Component: Transcoding Severity:
Keywords: Cc:
Who will test this:


Indytube breaks if a user uploads "" and "myvideo.avi" because of the its simplisitic system of creating "" and "myvideo.flv"

It creates the correct FLV and .inc (html) files each time, but they get over-written , so that only one set of these files exist.

We need to construct a unqiue filename from the original uploaded video filename (maybe a hash of the entire filename , eg hash("") & hash("myvideo.avi") ) so that the encoded video and html filenames are unique.


Change History

comment:1 Changed 6 years ago by andycat

When running from a production system of indytube, from before this fix, you should re-run indytube the first time with indyconf.conf DO_ENCODING=False !! Then stop indytube, turn it back to DO_ENCODING=True

This is so that the templates get re-generated with their new names, but indytube doesnt re-transcode the file. Normally, one trigger for re-transcoding is that the template inc file is missing, but in this case the filename of the template inc file is changing to a new scheme introduced by this fix. (The retranscode function on the web UI deletes the template inc file to trigger a retranscoding from indytube)

comment:2 Changed 6 years ago by andycat

to reproduce the bug: start with two videos named the same , except for extension -- eg, and abc3.mp4 it helps that they are actually different videos so you can see the effect. However, the most common use case would be that the user uploads the same video in different encodings. has the version with the bug.

Upload the first video, it transcodes fine.

Upload the second one, instantly you see the included HTML (hence the flowplayer, and the link to the transcoded FLV itself) from the above first movie.

Ive uploaded the same two videos to testing, and it works. You should see the second movie properly transcoded after a while, instead of the first. ---


to solve the bug, the indytube, and ATEngageVideo content type object , need to use unique filenames, instead of just the first part of the filename (eg "abc3" in the above example)

This *changes* the filename of the transcoded FLV itself from "abc3.flv" to "abc3-86815054b76eb22efc585b43726192a5.flv" for instance.

This *could* break already existing html embed codes, *if* the old FLV file is deleted. This should not happen, if you keep them around, during an upgrade to this version.

--- Upgrade notes:

stop indytube clear away all lock files, and skip files eg find /opt/tebet-instances/ -name "*.wetube*" -print -exec rm {} \;

(practice without the "-exec rm {} \;" first ;)

set DO_ENCODING=False in indytube.conf

start indytube

it has code to copy old forms of "<filename>.flv" to "<filename-HASH>.flv", so it doesnt need to retranscode. this will generate new html inc files also.

after one loop thru, stop indytube

reset DO_ENCODING to True

restart indytube for good.

Note, since you cleared old lockfiles and skipfiles, older videos that werent every transcoded will be attempted to be encoded.

pls reproduce the bug, and then test it :)

comment:3 Changed 6 years ago by datakid

  • Status changed from new to closed
  • Resolution set to fixed

comment:4 Changed 6 years ago by andycat

ATVideo change

indytube change

you need *both* updates.


Add a comment

Modify Ticket

as closed
The resolution will be deleted. Next status will be 'reopened'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.