
Recherche avancée
Médias (2)
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
Autres articles (21)
-
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...) -
Use, discuss, criticize
13 avril 2011, parTalk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
A discussion list is available for all exchanges between users. -
Emballe médias : à quoi cela sert ?
4 février 2011, parCe plugin vise à gérer des sites de mise en ligne de documents de tous types.
Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;
Sur d’autres sites (2866)
-
Vagrant provision fails to execute the next script without an obvious reason why
14 juin 2016, par JakeTheSnakeI’ve created/co-opted several bash scripts to provision my guest Ubuntu 14.04 OS ; the one giving me trouble right now is installing ffmpeg. When the script finishes, vagrant simply does nothing save for sending SSH keep-alives.
Host OS : Windows 7 x64
The last output before the infinitely repeating keep-alives is :
INSTALL libavutil/sha.h
INSTALL libavutil/sha512.h
INSTALL libavutil/stereo3d.h
INSTALL libavutil/threadmessage.h
INSTALL libavutil/time.h
INSTALL libavutil/timecode.h
INSTALL libavutil/timestamp.h
INSTALL libavutil/tree.h
INSTALL libavutil/twofish.h
INSTALL libavutil/version.h
INSTALL libavutil/xtea.h
INSTALL libavutil/tea.h
INSTALL libavutil/lzo.h
INSTALL libavutil/avconfig.h
INSTALL libavutil/ffversion.h
DEBUG ssh: stdout: INSTALL libavutil/libavutil.pc
DEBUG ssh: stdout: Done
DEBUG ssh: Sending SSH keep-alive...
DEBUG ssh: Sending SSH keep-alive...
DEBUG ssh: Sending SSH keep-alive...Here are the relevant scripts :
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure(2) do |config|
# The most common configuration options are documented and commented below.
# For a complete reference, please see the online documentation at
# https://docs.vagrantup.com.
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = 'ubuntu/trusty64'
config.vm.hostname = 'dev'
config.ssh.forward_agent = true
config.ssh.pty = true
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, type: :dhcp, auto_config: false
# Create a public network, which generally matched to bridged network.
# Bridged networks make the machine appear as another physical device on
# your network.
config.vm.network :public_network,
ip: '192.168.11.14',
bridge: 'Realtek PCIe GBE Family Controller'
# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
# the path on the guest to mount the folder. And the optional third
# argument is a set of non-required options.
#
# Do not share root directory of vagrant
# config.vm.synced_folder '.', '/vagrant', disabled: true
# Share ruby repository directories
config.vm.synced_folder '.',
'/home/vagrant/apps',
nfs: true,
mount_options: [
'nfsvers=3',
'vers=3',
'actimeo=1',
'rsize=8192',
'wsize=8192',
'timeo=14',
:nolock,
:udp,
:intr,
:user,
:auto,
:exec,
:rw
]
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
# Example for VirtualBox:
#
config.vm.provider :virtualbox do |vb|
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Use VBoxManage to customize the VM.
vb.name = 'Ubuntu'
vb.cpus = 4
vb.memory = 2048
vb.customize ['modifyvm', :id, '--vram', 64]
vb.customize ['modifyvm', :id, '--audio', :dsound]
vb.customize ['modifyvm', :id, '--audiocontroller', :ac97]
vb.customize ['modifyvm', :id, '--clipboard', :bidirectional]
end
# Provisioning
config.vm.provision :shell, path: './provisioning/user/install-apps.sh',
privileged: false, name: 'Applications'
config.vm.provision :shell, path: './provisioning/user/install-rvm.sh',
args: 'stable', privileged: false, name: 'RVM'
config.vm.provision :shell, path: './provisioning/user/install-ruby.sh',
args: '2.3.1', privileged: false, name: 'Ruby'
config.vm.provision :shell, path: './provisioning/user/install-ruby-gems.sh',
privileged: false, name: 'Ruby Gems'
config.vm.provision :shell, path: './provisioning/root/install-nginx.sh',
args: '1.9.9', name: 'Nginx'
config.vm.provision :chef_solo do |chef|
# chef.version = '12.10.40'
# Paths to your cookbooks (on the host)
chef.cookbooks_path = ['cookbooks']
# Add chef recipes
chef.add_recipe 'apt'
chef.add_recipe 'git' # Is required for NPM
chef.add_recipe 'sqlite'
chef.add_recipe 'mysql'
chef.add_recipe 'nodejs'
chef.add_recipe 'memcached'
chef.add_recipe 'imagemagick'
chef.add_recipe 'optipng'
chef.add_recipe 'sublime-text'
chef.add_recipe 'tomcat'
end
endinstall-apps.sh
#!/usr/bin/env bash
echo Turning off console beeps...
grep '^set bell-style none' /etc/inputrc || echo 'set bell-style none' >> /etc/inputrc
echo Installing languages
sudo apt-get -y update
sudo locale-gen en_US en_US.UTF-8
sudo dpkg-reconfigure locales
echo Installing essential apps
sudo apt-get -y install build-essential curl yasm
echo Installing desktop apps
sudo apt-get -y install ubuntu-desktop
hash ffmpeg 2>/dev/null || {
# Build ffmpeg
echo Installing ffmpeg
sudo apt-get -y install autoconf automake libass-dev libfreetype6-dev \
libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev libx264-dev libmp3lame-dev libopus-dev
mkdir ~/ffmpeg_sources
cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libass \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-nonfree
PATH="$HOME/bin:$PATH" make
make install
make distclean
hash -r
source ~/.profile
}
echo Done
exit 0install-rvm.sh
#!/usr/bin/env bash
echo Installing RVM gpg key
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 --trust-model always
echo Installing RVM
\curl -sSL https://get.rvm.io | bash -s $1
exit 0I won’t include the other scripts for the sake of brevity. When logging into vagrant with the gui nothing seems out of the ordinary, and ffmpeg is available...but nothing else is provisioned. No RVM, no Nginx, nothing.
-
Program hangs while using ffprobe on file with teletext subtitles
6 août 2012, par JonHaving a problem running ffprobe on an MKV file that contains teletext subtitles. Code is in a C# library and works fine for other MKV files.
Running the latest :
ffprobe -v
ffprobe version N-42347-g299387e Copyright (c) 2007-2012 the FFmpeg developers
built on Jul 8 2012 15:44:54 with gcc 4.7.1Code :
string args = string.Format("-show_format -show_streams \"{0}\"", FileName);
Process p = new Process();
p.StartInfo = new ProcessStartInfo(FFPROBE_PATH);
p.StartInfo.Arguments = args;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.WorkingDirectory = System.IO.Directory.GetCurrentDirectory();
p.Start();
while (!p.HasExited)
{
System.Threading.Thread.Sleep(100);
}
string output = p.StandardOutput.ReadToEnd().Replace("\r\n", "\n");The filename has a UNC path - tried using the FileName parameter but got an error, hence passing the filename via the arguments.
If I run the following commandline :
ffprobe -show_format -show_streams "\192.168.10.1\content\Breakfast At Tiffany's sample preview.mkv"
I get the following output (note the errors - "Unsupported codec with id ...") :
ffprobe -show_format -show_streams "\\192.168.10.1\content\Breakfast At Tiffany's sample preview.mkv"
ffprobe version N-42347-g299387e Copyright (c) 2007-2012 the FFmpeg developers
built on Jul 8 2012 15:44:54 with gcc 4.7.1
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-fr
ei0r --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-li
bmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libutv
ideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --e
nable-zlib
libavutil 51. 64.100 / 51. 64.100
libavcodec 54. 33.100 / 54. 33.100
libavformat 54. 15.102 / 54. 15.102
libavdevice 54. 1.100 / 54. 1.100
libavfilter 3. 1.100 / 3. 1.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
Input #0, matroska,webm, from 'c:\dev\content\Breakfast At Tiffany's sample preview.mkv':
Metadata:
creation_time : 2011-12-14 21:27:01
Duration: 00:01:02.77, start: 0.000000, bitrate: 4071 kb/s
Stream #0:0: Video: h264 (High), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Metadata:
title : x264 1920x1080 Bitrate=4776 kbps AvQuant=21.406 Rip by ShivaShanti
Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), s16, 448 kb/s (default)
Metadata:
title : English Ac3 5.1 chnls 448 kbps
Stream #0:2(ita): Audio: ac3, 48000 Hz, stereo, s16, 224 kb/s
Metadata:
title : Italian Ac3 2.0 chnls 224 kbps
Stream #0:3(eng): Subtitle: text (default)
Metadata:
title : english
Stream #0:4(ita): Subtitle: text
Metadata:
title : italian
Stream #0:5(dan): Subtitle: text
Metadata:
title : danish
Stream #0:6(dut): Subtitle: text
Metadata:
title : dutch
Stream #0:7(fin): Subtitle: text
Metadata:
title : finnish
Stream #0:8(fre): Subtitle: text
Metadata:
title : french
Stream #0:9(ger): Subtitle: text
Metadata:
title : german
Stream #0:10(nor): Subtitle: text
Metadata:
title : norwegian
Stream #0:11(spa): Subtitle: text
Metadata:
title : spanish
Stream #0:12(swe): Subtitle: text
Metadata:
title : swedish
Stream #0:13(eng): Subtitle: text
Metadata:
title : english hearig impaired
Unsupported codec with id 94210 for input stream 3
Unsupported codec with id 94210 for input stream 4
Unsupported codec with id 94210 for input stream 5
Unsupported codec with id 94210 for input stream 6
Unsupported codec with id 94210 for input stream 7
Unsupported codec with id 94210 for input stream 8
Unsupported codec with id 94210 for input stream 9
Unsupported codec with id 94210 for input stream 10
Unsupported codec with id 94210 for input stream 11
Unsupported codec with id 94210 for input stream 12
Unsupported codec with id 94210 for input stream 13
[STREAM]
index=0
codec_name=h264
codec_long_name=H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
profile=High
codec_type=video
codec_time_base=1001/48000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
width=1920
height=1080
has_b_frames=2
sample_aspect_ratio=1:1
display_aspect_ratio=16:9
pix_fmt=yuv420p
level=41
timecode=N/A
is_avc=1
nal_length_size=4
id=N/A
r_frame_rate=24000/1001
avg_frame_rate=24000/1001
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:title=x264 1920x1080 Bitrate=4776 kbps AvQuant=21.406 Rip by ShivaShanti
[/STREAM]
[STREAM]
index=1
codec_name=ac3
codec_long_name=ATSC A/52A (AC-3)
profile=unknown
codec_type=audio
codec_time_base=1/48000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=s16
sample_rate=48000
channels=6
bits_per_sample=0
dmix_mode=-1
ltrt_cmixlev=-1.000000
ltrt_surmixlev=-1.000000
loro_cmixlev=-1.000000
loro_surmixlev=-1.000000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=448000
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=eng
TAG:title=English Ac3 5.1 chnls 448 kbps
[/STREAM]
[STREAM]
index=2
codec_name=ac3
codec_long_name=ATSC A/52A (AC-3)
profile=unknown
codec_type=audio
codec_time_base=1/48000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
sample_fmt=s16
sample_rate=48000
channels=2
bits_per_sample=0
dmix_mode=-1
ltrt_cmixlev=-1.000000
ltrt_surmixlev=-1.000000
loro_cmixlev=-1.000000
loro_surmixlev=-1.000000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=224000
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=ita
TAG:title=Italian Ac3 2.0 chnls 224 kbps
[/STREAM]
[STREAM]
index=3
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=eng
TAG:title=english
[/STREAM]
[STREAM]
index=4
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=ita
TAG:title=italian
[/STREAM]
[STREAM]
index=5
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=dan
TAG:title=danish
[/STREAM]
[STREAM]
index=6
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=dut
TAG:title=dutch
[/STREAM]
[STREAM]
index=7
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=fin
TAG:title=finnish
[/STREAM]
[STREAM]
index=8
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=fre
TAG:title=french
[/STREAM]
[STREAM]
index=9
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=ger
TAG:title=german
[/STREAM]
[STREAM]
index=10
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=nor
TAG:title=norwegian
[/STREAM]
[STREAM]
index=11
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=spa
TAG:title=spanish
[/STREAM]
[STREAM]
index=12
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=swe
TAG:title=swedish
[/STREAM]
[STREAM]
index=13
codec_name=unknown
codec_long_name=unknown
profile=unknown
codec_type=subtitle
codec_time_base=1/1000
codec_tag_string=[0][0][0][0]
codec_tag=0x0000
id=N/A
r_frame_rate=0/0
avg_frame_rate=0/0
time_base=1/1000
start_time=0.000000
duration=N/A
bit_rate=N/A
nb_frames=N/A
nb_read_frames=N/A
nb_read_packets=N/A
TAG:language=eng
TAG:title=english hearig impaired
[/STREAM]
[FORMAT]
filename=c:\dev\content\Breakfast At Tiffany's sample preview.mkv
nb_streams=14
format_name=matroska,webm
format_long_name=Matroska/WebM file format
start_time=0.000000
duration=62.776000
size=31947628
bit_rate=4071317
TAG:creation_time=2011-12-14 21:27:01
[/FORMAT]My problem is, the process appears to hang. I took out the 'CreateNoWindow' option and, of course, I get a big blank window onscreen that normally just flashs by on a normal file. With the teletext subtitle file however, it persists. If I manually close it, the program continues and I seem to get the output I want.
So my question is, how can I debug this further, to find out why this is hanging and how to handle the error (or simply ignore it) and continue ?
-
python - subprocess.Popen fails to correctly pipe urllib3 Response
11 février 2018, par user2963567I want to open a file over a network and pipe it directly to ffmpeg using subprocess.Popen. The goal is to stream the audio file data directly into ffmpeg. Here is the code :
# test.py
import subprocess, sys, urllib3, time
http = urllib3.PoolManager()
r = http.urlopen('GET', sys.argv[1], preload_content=False)
args = 'ffmpeg -i - -y audio.mp3'.split(' ')
subprocess.Popen(args, stdin=r)
r.close()If I run a local HTTP server and give the program the url, it works successfully, and ffmpeg processes it.
$ python3 test.py http://192.168.1.200/original.webm
However if I try to retrieve from a remote server, such as that below, ffmpeg fails.
$ python3 test.py https://cdn.discordapp.com/attachments/304959901376053248/412003156638040084/original.webm
with the following output
pipe:: Invalid data found when processing input
I expected this code to produce the same results as running this terminal command. This command succeeds for both the discord cdn URL and a local HTTP server url.
$ curl [file url] | ffmpeg -i - -y audio.mp3
I’m using python 3.5 on Linux, and ffmpeg 3.4.1.
edit 1
I’m now leaning towards thinking it’s not ffmpeg’s fault, and more about how Popen is reading/writing the urllib response to a process’ stdin. By running a local netcat server and sending the output to a file (
$ nc -l 1234 > nc_output.webm
) and adjusting the script like so :import subprocess, sys, urllib3, time
http = urllib3.PoolManager()
r = http.urlopen('GET', sys.argv[1], preload_content=False)
args = 'nc 192.168.1.200 1234'.split(' ')
subprocess.run(args, stdin=r)
r.close()Then running as
$ python3 test.py https://cdn.discordapp.com/attachments/304959901376053248/412003156638040084/original.webm
By comparing nc_output.webm with the original.webm file, I can immediately see that nc_output.webm is slightly larger (4017585 bytes, vs 4008589 bytes). Attempting to play nc_output.webm (mpv, vlc, ffprobe) also fails, which explains why ffmpeg was complaining. Whatever Popen is doing to the stream’s bytes is sufficient to make the output file useless.
However, the problem still ceases to occur if the URL points to a local HTTP server, such as one run from
python -m SimpleHTTPServer
which leads me to think that this is related to the latency associated with reading from a remote origin.