Ticket #355 (closed defect: fixed)
3.0-beta2 transcode "DOWNLOAD" step broken when using Apache
| Reported by: | jimby | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 3.0-RC1 |
| Component: | Transcoding | Severity: | |
| Keywords: | transcode download | Cc: | |
| Who will test this: |
Description
When running with Apache, The DOWNLOAD line in the transcode process (just prior to getThumb) reads:
DOWNLOADING http://www.bsdtv.org:8080/Members/jpb/videos/xaaapa02/download/video_file/xaa.avi
RUNNING: scripts/getThumb /tmp/tmp_PKSer.avi transcoded/http/www.bsdtv.org/8080/Members/jpb/videos /xaaapa02/download/video_file/xaa.avi/jpeg/xaa.jpg
This fails to download the video and results in an error.
When running standalone without Apache, it works correctly. The lines read:
DOWNLOADING http://www.bsdtv.org:8080/bsdtv/Members/jpb/videos/xaa05/download/video_file/xaa05.avi
RUNNING: scripts/getThumb /tmp/tmp8Upell.avi transcoded/http/www.bsdtv.org/8080/bsdtv/Members/jpb/videos/xaa05/download/video_file/xaa05.avi/jpeg/xaa05.jpg
Notice the instance name "bsdtv" just before "Members". It's not there in the Apache version above. Plumi doesn't download the video and an error message is output into the temporary file. The DOWNLOAD step for all processes (getThumb, ffmpeg, and ffmpeg2theora) fails, and there is no transcoding performed.
Rewrite rules were unchanged (except for replacing "example.org" with the correct site name "bsdtv.org").
Note that this *may* be related to ticket #289 "Naming scheme of videos has changed", but I can't tell.
Jim B.
Attachments
Change History
comment:2 Changed 3 years ago by and
- Milestone set to 3.0-RC1
Dimo/Mike? - I'm not sure if this should be in rc1 but putting it there for the moment. I leave where it should be to you guys.
comment:3 Changed 3 years ago by dimo
- Status changed from new to closed
- Resolution set to fixed
It works fine for me without the patch. I think your problem was that the Plone site address was not correctly defined in the plumi_properties. If using Apache it should just be http://www.bsdtv.org. Otherwise, it should be http://www.bsdtv.org:8080/bsdtv instead of just http://www.bsdtv.org:8080.
Try updating the buildout. I made quite a few changes in the apache/squid setup. You should only need to edit the site.cfg. You have the option of configuring a seperate virtualhost for the transcodedaemon/videoserver (e.g. videos.bsdtv.org) in order to have everything working under port 80.
comment:4 Changed 3 years ago by jimby
It seems that the default install requires squid.
I'm trying to install without squid to reduce complexity.
I'll test the new buildout and report my results here. I'll test with the new installation, but without running squid. If you have any recommendations for such a configuration, please advise...
Jim B.
comment:5 Changed 3 years ago by dimo
You should only need to change the apache_backends setting in site.cfg from
apache_backends = latest-v.plumi.org:${site:squid_address}
to
apache_backends = latest-v.plumi.org:${site:http_address}
Apache should then talk directly to zope, bypassing squid. I haven't tested it though. Let me know if it works as expected.


Correction: The rewrite rules are slightly changed. Squid is not used in this setup, so the following changes are made in the rewrite rules configuration file:
<VirtualHost *:80> ServerName www.bsdtv.org RewriteEngine On RewriteLog /usr/local/Plone/bsdtv/var/log/rewrite_bsdtv.org.log RewriteLogLevel 2 CustomLog /usr/local/Plone/bsdtv/var/log/access_bsdtv.org.log common ErrorLog /usr/local/Plone/bsdtv/var/log/error_bsdtv.org.log # <Proxy http://127.0.0.1:4128> # Allow from all # </Proxy> RewriteRule ^(.*)$ - [E=BACKEND_LOCATION:127.0.0.1] RewriteRule ^(.*)$ - [E=BACKEND_PORT:8080] RewriteRule ^(.*)$ - [E=HOST:www.bsdtv.org] RewriteRule ^(.*)$ - [E=PORT:80] RewriteRule ^(.*)$ - [E=PROTO:http] RewriteRule ^(.*)$ - [E=ZOPEPATH:bsdtv] RewriteRule ^/(.*)/$ http://%{ENV:BACKEND_LOCATION}:%{ENV:BACKEND_PORT}/VirtualHostBase/%{ENV:PROTO}/%{ENV:HOST}:%{ENV:PORT}/%{ENV:ZOPEPATH}/VirtualHostRoot/$1 [L,P] RewriteRule ^/(.*)$ http://%{ENV:BACKEND_LOCATION}:%{ENV:BACKEND_PORT}/VirtualHostBase/%{ENV:PROTO}/%{ENV:HOST}:%{ENV:PORT}/%{ENV:ZOPEPATH}/VirtualHostRoot/$1 [L,P] </VirtualHost>The Proxy directive was commented out, and BACKEND_PORT was changed to 8080