LINUX.ORG.RU

swf2... нормальный видео формат

 ,


0

1

Сабж. Принесли на работе говнофлешевые ролики, притом еще и ужатые. Как разархивировать я разобрался - `flasm -x file.swf`, а дальше проблема - на выходе пустой файл, т.е. почти пустой - весом в несколько килобайт - исходник же весит метров 20.

$ ffmpeg -i file.swf file.avi
ffmpeg version 0.10.5 Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov  8 2012 12:47:28 with gcc 4.6.3
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --extra-cflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --extra-cxxflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-network --disable-vdpau --enable-libmp3lame --enable-libvo-aacenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libfaac --enable-nonfree --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --disable-outdev=oss --enable-libfreetype --enable-libass --enable-pthreads --enable-libdirac --enable-libschroedinger --enable-libvpx --enable-libopenjpeg --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx  libavutil      51. 35.100 / 51. 35.100
  libavcodec     53. 61.100 / 53. 61.100
  libavformat    53. 32.100 / 53. 32.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 61.100 /  2. 61.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
  libpostproc    52.  0.100 / 52.  0.100
[swf @ 0x88b2ee0] Estimating duration from bitrate, this may be inaccurate
Input #0, swf, from 'file.swf':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Audio: pcm_s16le, 5512 Hz, 1 channels, s16, 88 kb/s
[NULL @ 0x88ba000] Requested sampling rate unsupported using closest supported (8000)
Output #0, avi, to 'file.avi':
  Metadata:
    ISFT            : Lavf53.32.100
    Stream #0:0: Audio: mp3 (U[0][0][0] / 0x0055), 8000 Hz, 1 channels, s16, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le -> libmp3lame)
Press [q] to stop, [?] for help
size=       7kB time=00:00:00.14 bitrate= 381.8kbits/s    
video:0kB audio:1kB global headers:0kB muxing overhead 496.527778%

Или так:

$ ffmpeg -i file.swf -vcodec copy -acodec copy file.avi
ffmpeg version 0.10.5 Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov  8 2012 12:47:28 with gcc 4.6.3
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --extra-cflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --extra-cxxflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-network --disable-vdpau --enable-libmp3lame --enable-libvo-aacenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libfaac --enable-nonfree --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --disable-outdev=oss --enable-libfreetype --enable-libass --enable-pthreads --enable-libdirac --enable-libschroedinger --enable-libvpx --enable-libopenjpeg --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx  libavutil      51. 35.100 / 51. 35.100
  libavcodec     53. 61.100 / 53. 61.100
  libavformat    53. 32.100 / 53. 32.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 61.100 /  2. 61.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
  libpostproc    52.  0.100 / 52.  0.100
[swf @ 0x8775ee0] Estimating duration from bitrate, this may be inaccurate
Input #0, swf, from 'file.swf':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Audio: pcm_s16le, 5512 Hz, 1 channels, s16, 88 kb/s
Output #0, avi, to 'file.avi':
  Metadata:
    ISFT            : Lavf53.32.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 5512 Hz, 1 channels, 88 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
size=       6kB time=00:00:00.00 bitrate=   0.0kbits/s    
video:0kB audio:0kB global headers:0kB muxing overhead inf%
Output file is empty, nothing was encoded (check -ss / -t / -frames parameters if used)
★★★★★

`flasm -x file.swf`

А если вместо этого воспользоваться cws2fws из пакета ffmpeg?

Lavos ★★★★★ ()
Ответ на: комментарий от Lavos

Нагуглил то, что привел выше, но не исключен и такой вариант. Тем не менее, конечный результат не меняется.

leg0las ★★★★★ ()
Последнее исправление: leg0las (всего исправлений: 1)
Ответ на: комментарий от leg0las

Нагуглили то что привел выше, но не исключен и такой вариант.

Ничего не понял.

У меня cws2fws работает.

$  wget http://raz.z0r.de/L/z0r-de_45.swf
...
$ file z0r-de_45.swf 
z0r-de_45.swf: Macromedia Flash data (compressed), version 6

$ ffprobe z0r-de_45.swf 
...
[swf @ 0x912fb30] Compressed SWF format not supported
z0r-de_45.swf: Input/output error

$ cws2fws z0r-de_45.swf z0r-de_45_uncompressed.swf 
Compressed size: 267660 Uncompressed size: 271736

$ ffprobe z0r-de_45_uncompressed.swf 
...
Input #0, swf, from 'z0r-de_45_uncompressed.swf':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Audio: pcm_s16le, 5512 Hz, 1 channels, s16, 88 kb/s
    Stream #0:1: Video: flv1, yuv420p, 47 tbr, 47 tbn, 47 tbc
Lavos ★★★★★ ()
Ответ на: комментарий от Lavos

Да, со скачаным файлом все путем:

$ ffprobe z0r-de_45.swf 
...
Input #0, swf, from 'z0r-de_45.swf':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Audio: pcm_s16le, 5512 Hz, 1 channels, s16, 88 kb/s
    Stream #0:1: Video: flv1, yuv420p, 47 tbr, 47 tbn, 47 tbc

В моем случае:

$ ffprobe file.swf 
...
Input #0, swf, from 'file.swf':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Audio: pcm_s16le, 5512 Hz, 1 channels, s16, 88 kb/s

Все. видеодорожки нет. Еще момент:

$ file file.swf 
file.swf: Macromedia Flash data, version 10

Исходные файлы содержат еще "(compressed)", в принципе естественно. В опере кстати открывается.

leg0las ★★★★★ ()
Ответ на: комментарий от leg0las

А если взять swfextract (из пакета swftools) и вынуть им видео, а затем полученное видео распаковать?

Lavos ★★★★★ ()
Ответ на: комментарий от Lavos

Щас попробую. Кстати, чем занимается пакет swfdec? или это просто либа?

leg0las ★★★★★ ()
Ответ на: комментарий от Lavos

Вот что говорит -v:

swfextract -v file.swf
Objects in file file.swf:
 [-i] 285 Shapes: ID(s) 2, 4, 6, 8, 11, 13, 15, 18, 20, 22, 25, 27, 29, 32, 34, 36, 38, 40, 42, 45, 47, 49, 51, 56, 58, 60, 63, 65, 69, 71, 78, 82, 84, 87, 94, 101, 108, 113, 115, 117, 123, 125, 132, 139, 146, 153, 160, 167, 174, 179, 181, 183, 190, 197, 203, 210, 217, 224, 231, 238, 245, 252, 259, 266, 273, 280, 287, 294, 301, 308, 315, 321, 329, 336, 342, 351, 358, 362, 364, 367, 374, 381, 388, 395, 401, 408, 414, 421, 428, 435, 437, 439, 441, 443, 445, 447, 449, 456, 463, 470, 472, 474, 477, 479, 486, 493, 500, 507, 509, 515, 521, 528, 535, 542, 549, 556, 562, 564, 570, 572, 574, 576, 578, 580, 582, 584, 586-592, 594, 596, 598, 600, 602, 604, 606, 608, 610, 612, 614, 616, 618, 620, 622, 624, 626, 628, 630, 632, 634, 636, 638, 640, 642, 644, 646, 648, 650, 652, 654, 656, 659, 662, 664, 666, 668, 670, 672, 675, 677, 679, 685, 687, 689, 691, 693, 695, 697, 699, 701, 704, 706, 708, 710, 712, 714, 716, 718, 720, 722, 724, 726, 728, 730, 732, 734, 736, 738, 740, 741, 743, 745, 747, 749, 751, 753, 755, 757, 759, 761, 763, 765, 767, 769, 771, 773, 775, 777, 779, 781, 783, 785, 787, 789, 791, 793, 795, 797, 799, 801, 803, 806, 808, 810, 812, 814, 816, 819, 821, 823, 825, 827, 829, 831, 834, 836, 838, 840, 842, 844, 846, 849, 857, 859, 864, 866, 868, 870, 873, 875, 879, 881, 883, 889, 891, 893, 901, 903, 910, 912, 914, 916, 918, 920, 922, 924, 926-928, 931, 933
 [-i] 2 MovieClips: ID(s) 932, 935
 [-j] 633 JPEGs: ID(s) 1, 3, 5, 7, 9, 10, 12, 14, 17, 19, 21, 24, 26, 28, 30, 31, 33, 35, 37, 39, 41, 43, 44, 46, 48, 50, 52-55, 57, 59, 61, 62, 64, 66-68, 70, 72-77, 79-81, 83, 85, 86, 88-93, 95-100, 102-107, 109-112, 114, 116, 118-122, 124, 126-131, 133-138, 140-145, 147-152, 154-159, 161-166, 168-173, 175-178, 180, 182, 184-189, 191-196, 198-202, 204-209, 211-216, 218-223, 225-230, 232-237, 239-244, 246-251, 253-258, 260-265, 267-272, 274-279, 281-286, 288-293, 295-300, 302-307, 309-314, 316-320, 323-328, 330-335, 337-341, 345-350, 352-357, 359-361, 363, 365, 366, 368-373, 375-380, 382-387, 389-394, 396-400, 402-407, 409-413, 415-420, 422-427, 429-434, 436, 438, 440, 442, 444, 446, 448, 450-455, 457-462, 464-469, 471, 473, 475, 476, 478, 480-485, 487-492, 494-499, 501-506, 508, 510-514, 516-520, 522-527, 529-534, 536-541, 543-548, 550-555, 557-561, 563, 565-569, 571, 573, 575, 577, 579, 581, 583, 585, 593, 595, 597, 599, 601, 603, 605, 607, 609, 611, 613, 615, 617, 619, 621, 623, 625, 627, 629, 631, 633, 635, 637, 639, 641, 643, 645, 647, 649, 651, 653, 655, 658, 660, 661, 663, 665, 667, 669, 671, 673, 674, 676, 678, 681-684, 686, 688, 690, 692, 694, 696, 698, 700, 703, 705, 707, 709, 711, 713, 715, 717, 719, 721, 723, 725, 727, 729, 731, 733, 735, 737, 739, 742, 744, 746, 748, 750, 752, 754, 756, 758, 760, 762, 764, 766, 768, 770, 772, 774, 776, 778, 780, 782, 784, 786, 788, 790, 792, 794, 796, 798, 800, 802, 804, 805, 807, 809, 811, 813, 815, 818, 820, 822, 824, 826, 828, 830, 833, 835, 837, 839, 841, 843, 845, 848, 850-856, 858, 860-863, 865, 867, 869, 871, 872, 874, 876-878, 880, 882, 884-888, 890, 892, 894-900, 902, 904-909, 911, 913, 915, 917, 919, 921, 923
 [-s] 12 Sounds: ID(s) 16, 23, 322, 343, 344, 657, 680, 702, 817, 832, 847, 925
 [-F] 1 Font: ID(s) 929
 [-M] 2 Embedded MP3s: ID(s) 932, 935
 [-f] 1 Frame: ID(s) 0
 [-m] 1 MP3 Soundstream
leg0las ★★★★★ ()
Ответ на: комментарий от leg0las

[-i] 2 MovieClips: ID(s) 932, 935

swfextract -i 932 file.swf output1.swf
swfextract -i 935 file.swf output2.swf
Lavos ★★★★★ ()
Ответ на: комментарий от Lavos

935-й похож (по размеру). Извлек, он оказался сжатым. разжал, получил:

$ ffmpeg -i output_uncompressed.swf video.avi
ffmpeg version 0.10.5 Copyright (c) 2000-2012 the FFmpeg developers
  built on Nov  8 2012 12:47:28 with gcc 4.6.3
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --extra-cflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --extra-cxxflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-network --disable-vdpau --enable-libmp3lame --enable-libvo-aacenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libfaac --enable-nonfree --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --disable-outdev=oss --enable-libfreetype --enable-libass --enable-pthreads --enable-libdirac --enable-libschroedinger --enable-libvpx --enable-libopenjpeg --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx  libavutil      51. 35.100 / 51. 35.100
  libavcodec     53. 61.100 / 53. 61.100
  libavformat    53. 32.100 / 53. 32.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 61.100 /  2. 61.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
  libpostproc    52.  0.100 / 52.  0.100
[swf @ 0x9434ee0] Estimating duration from bitrate, this may be inaccurate
output.swf: could not find codec parameters

Содержимое:

$ ffprobe output_uncompressed.swf 
ffprobe version 0.10.5 Copyright (c) 2007-2012 the FFmpeg developers
  built on Nov  8 2012 12:47:28 with gcc 4.6.3
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --cc=i686-pc-linux-gnu-gcc --cxx=i686-pc-linux-gnu-g++ --ar=i686-pc-linux-gnu-ar --optflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --extra-cflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --extra-cxxflags='-O2 -march=prescott -fomit-frame-pointer -pipe' --disable-static --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-network --disable-vdpau --enable-libmp3lame --enable-libvo-aacenc --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libfaac --enable-nonfree --disable-indev=v4l --disable-indev=v4l2 --disable-indev=oss --disable-indev=jack --enable-x11grab --disable-outdev=oss --enable-libfreetype --enable-libass --enable-pthreads --enable-libdirac --enable-libschroedinger --enable-libvpx --enable-libopenjpeg --disable-amd3dnow --disable-amd3dnowext --disable-altivec --disable-avx  libavutil      51. 35.100 / 51. 35.100
  libavcodec     53. 61.100 / 53. 61.100
  libavformat    53. 32.100 / 53. 32.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 61.100 /  2. 61.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
  libpostproc    52.  0.100 / 52.  0.100
[swf @ 0x946efc0] Estimating duration from bitrate, this may be inaccurate
output_uncompressed.swf: Operation not permitted
leg0las ★★★★★ ()
Последнее исправление: leg0las (всего исправлений: 2)
Ответ на: комментарий от leg0las

output_uncompressed.swf: Operation not permitted

А там точно на выходе swf получился? file что говорит?

Lavos ★★★★★ ()
Ответ на: комментарий от Lavos
$ file output_uncompressed.swf 
output_uncompressed.swf: Macromedia Flash data, version 10

точно он.

leg0las ★★★★★ ()
Ответ на: комментарий от leg0las

version 10

Может быть из-за этого? У меня version 6 на тестовом файле и ffmpeg его распознает.

Lavos ★★★★★ ()
Ответ на: комментарий от Lavos

А хз, возможно. В любом случае, что принесли, то принесли. И это нужно на завтра. Ну да ладно, нельзя так нельзя. пусть уже разбираются сами)

leg0las ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.