Я... предполагаю, что это зависит от того, как Вы играете видео... Проигрывание Флеш-видео не отличается от проигрывания любого другого видео, у Вас есть видеофайл, и Вы играете его с медиаплеером.
То, что Вы видите, больше имеет отношение к любой части программного обеспечения, загружает видео с плей-листа, который, кажется, хранит временные копии видео под /tmp
.
В свою очередь основанные на Adobe Flash плееры флеш-видео могут также использовать подобный прием для хранения временных видеофайлов. То, что происходит под этими плеерами, будет, вероятно, зависеть также от того, как виртуальная машина флэш-памяти обрабатывает временные данные (возможно, Lightspark
и gnash
рассматривайте их по-другому, и т.д.).
Просто сделал это с помощью сценария удара
#!/bin/bash
c=0
[[ $# -eq 0 ]] && { echo "Error: Please Specify Input file" >&2; exit 1; }
while read line
do
if [[ $line = "-" ]]; then
(( c++ ))
if [[ $c -eq 1 ]]; then
echo ""
fi
elif [[ $line != "" ]] && [[ $c -ne 0 ]]; then
echo "- ${line}"
(( c-- ))
if [[ $c -eq 0 ]]; then
echo ""
fi
elif [[ $line =~ "- " ]] && [[ $c -ne 0 ]]; then
echo " $line"
else
echo "$line"
fi
done < $1
Протестированный и работающий с входным примером.
Cred к @Rahul, но измененной версии:
#!/bin/bash
if [[ -z "$1" || ! -f "$1" ]]; then
printf "Usage: %s <FILE>\n" "$(basename $0)"
exit 1
fi
c=0
eoli=0
pad=4
while read line
do
if [[ "$line" = "-" ]]; then
(( c++ ))
elif (( c > 0 )); then
echo "- $line"
! (( --c )) && eoli=1
elif ((eoli)) && [[ "$line" =~ ^-\ ]]; then
printf "%-*s%s\n" $pad "" "$line"
else
eoli=0
echo "$line"
fi
done < "$1"
Используя awk:
#!/usr/bin/awk -f
BEGIN {
c=0
eoli=0
pad=4
};
{
if (/^-$/) {
++c
} else if (c > 0) {
printf "- %s\n", $0
eoli = (--c == 0)
} else if (eoli && /^- /) {
printf "%*s%s\n", pad, "", $0
} else {
eoli=0
print $0
}
}