I have a very strange issue with all versions of the module. For smaller files everything works almost perfectly, but for larger ones (40MB +) the actual transcoding (which started with manualy cron run) gives a lot of mysql error and finally the server gone away.
It was tested on OpenSolaris and Linux, PHP 5.2.9 and 5.2.16, MySql 5.1.30 and 5.0.91.

The all I can figure out is that the conversion process wants to update watchdog table, and the Mysql gone away.

Is anybody has the same issuse?

Comments

bcobin’s picture

I'm currently testing with very small files to save time, but when I first started experimenting with the module, I wasn't able to encode videos longer than, say 1:30.

I'm currently "stuck" at an earlier phase, though, in trying to get HTML5 to work - one thing at a time. But for now, +1 in having experienced the same problem.

(As an aside - and without changing the issue - if you have a working OGG preset, that would be helpful!)

hypertext200’s picture

I recommend you to use CDN and Separate transcoder when u have large files.

jorrit’s picture

Status: Active » Postponed (maintainer needs more info)

Perhaps the problem relates to the PHP execution timeout? Is this still a problem?

bcobin’s picture

I've actually "punted" here and am just using Embedded Media. The next time I have a long-form video I don't want to publish to YouTube, I'll revisit the issue and see what the status is.

I have several issues with Video and I'll be posting the same basic message to all - thanks for checking in, Jorrit!

jorrit’s picture

Status: Postponed (maintainer needs more info) » Closed (cannot reproduce)

Thanks for replying. I will test it for myself with large video files. If anyone else experiences this on a Drupal installation that is currently active, please reopen or open a new issue.

Daeluin’s picture

Status: Closed (cannot reproduce) » Needs review

Also having this issue.

Able to upload ~100meg video files just fine, but a 700meg upload reaches 100% and then nothing.

The local PHP error_log showed a "MySQL Server has gone away" error, and I was able to resolve this by adding "mysqli.reconnect = On" in a local php.ini.

There was also a global apache error "Script timed out before returning headers" error and this has not gone away.

We have "Enable Video Conversion" unchecked, but as soon as the upload reaches 100% I see an ffmpeg process running on the server (to generate the thumbnails?), and when this finishes we get the "Script timed out" error. The upload page does nothing, just says 100% but doesn't complete or add thumbnails.

Here's what we've tried:

  • modsecurity2 is disabled, ran into issues with this in the past.
  • max_execution_time 600
  • max_input_time 600
  • memory_limit = 1224M (for the hell of it)
  • post_max_size = 1024M
  • upload_max_filesize = 1024M

Not getting any pcre errors, or really anything but the "Script timed out before returning headers." I'm assuming MySQL is OK not with the reconnect setting, at least not getting any errors from MySQL any more. Is this the execution timeout that was mentioned, and is there anything I can set for this?

  • ffmpeg-php 0.6.3
  • php 5.2.14 running with suphp
  • mysql 5.0.92
  • apache 2.2
  • video-6.x-4.6 (going to try 4.7 now)

Thanks!

Daeluin’s picture

Daeluin’s picture

Yep, 4.7 gets the same global apache error, but this time the page status on the upload changes to:
An HTTP error 0 occurred. /filefield/progress/f885ec58d8f2912db009c5f50003f6f5

jorrit’s picture

Could you estimate how long it takes to upload the entire file? Is it longer than 600 seconds? If so, please increase the max_execution_time and max_input_time values.

jorrit’s picture

Status: Needs review » Postponed (maintainer needs more info)
Daeluin’s picture

Status: Postponed (maintainer needs more info) » Needs review

My understanding was the input/exec times didn't run/count during an upload, just during processing - is that wrong?

But I tried it to be sure. Set to 2h:
max_input_time = 7200
max_execution_time = 7200

The upload took <1h and returned the same error:
Script timed out before returning headers: index.php, referer: http://example.com/node/add/video

jorrit’s picture

The message Script timed out before returning headers is not generated by PHP, but by Apache, probably in combination with mod_wsgi. Please see if increasing the Apache TimeOut setting helps for you.

Daeluin’s picture

Set timeout 3600 and that did the trick. Phew.

So, do I need the Apache timeout to be large enough to cover the entire upload time, or just the processing? I think the default was 30, I'll try adjusting this tomorrow and find out.

Daeluin’s picture

Status: Needs review » Closed (fixed)

Lowered everything down to about 300 and it still works.

Thanks so much for your help with this!

jorrit’s picture

I have added code to take care of database timeouts, but I unfortunately can't prevent Apache timeouts.