
Recherche avancée
Médias (1)
-
1 000 000 (wav version)
26 septembre 2011, par
Mis à jour : Avril 2013
Langue : English
Type : Audio
Autres articles (108)
-
Le profil des utilisateurs
12 avril 2011, parChaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...) -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.
Sur d’autres sites (13487)
-
Issue in CV_FOURCC('H', '2', '6', '4')
16 décembre 2014, par AshwinI am trying to use H264 encoding type for compressing the live streaming from Camera (which is supporting the H264 codec) am getting below -
[I am using OPENCV 3.0 beta version (latest)in windows 7 64 bit system .My camera is also supporting H264 codec (find more details below) ]
My ffmpeg code got built with h264 lib :
This build was compiled with the following external libraries :
x264 20140826-git-dd79a61 http://videolan.org/developers/x264.html**error :**
Frame size = 1280x720
Could not find encoder for codec id 28: Encoder not foundERROR: Failed to write the video
Press any key to continue . . .Below is my code :
int main(int argc, char *argv[])
{
// QApplication a(argc, argv);
VideoCapture cap(0); //capture webcam
if (!cap.isOpened()) //if not successful then exit
{
cout << "Cannot open webcam";
return -1;
}
namedWindow("Camera feed", 1); //create window
cap.set(3, 1280);
cap.set(4, 720);
double dWidth = cap.get(CV_CAP_PROP_FRAME_WIDTH); //get width of frames of video
double dHeight = cap.get(CV_CAP_PROP_FRAME_HEIGHT); //get height of frames of video
Size frameSize(static_cast<int>(dWidth), static_cast<int>(dHeight));
cout << "Frame size = " << dWidth << "x" << dHeight << endl;
VideoWriter oVideoWriter("video.avi", CV_FOURCC('X', '2', '6', '4'), 30, frameSize);
if(!oVideoWriter.isOpened())
{
cout << "ERROR: Failed to write the video" << endl;
return -1;
}
while(1)
{
Mat frame;
bool bSuccess = cap.read(frame); //read a new frame from video
if(!bSuccess) //if unsuccessful, break loop
{
cout << "Cannot read frame from video file" << endl;
break;
}
oVideoWriter.write(frame); //write the frame into the file
imshow("Camera feed", frame); //show the frame in "Live Feed" window
cout << "Recording" << endl;
if (waitKey(30) == 27)
{
cout<< "Esc key is pressed by user" << endl;
break;
}
}
return 0;
}
</int></int>Here is the proof that my camera is supporting the H264 :
C:\Users>ffmpeg -f dshow -list_options true -i video="Logitech HD Pro Webcam C920"
ffmpeg version N-66116-g720c21d Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 4 2014 22:09:48 with gcc 4.8.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.100 / 56. 4.100
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 0.103 / 5. 0.103
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
[dshow @ 0000000002faf680] DirectShow video device options
[dshow @ 0000000002faf680] Pin "Capture"
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=160x90 fps=5 max s=160x90 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=432x240 fps=5 max s=432x240 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=864x480 fps=5 max s=864x480 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=960x720 fps=5 max s=960x720 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=1920x1080 fps=5 max s=1920x1080 fps=30
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=2304x1296 fps=2 max s=2304x1296 fps=2
[dshow @ 0000000002faf680] pixel_format=bgr24 min s=2304x1536 fps=2 max s=2304x1536 fps=2
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=160x90 fps=5 max s=160x90 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=432x240 fps=5 max s=432x240 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=864x480 fps=5 max s=864x480 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=960x720 fps=5 max s=960x720 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=1920x1080 fps=5 max s=1920x1080 fps=30
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=2304x1296 fps=2 max s=2304x1296 fps=2
[dshow @ 0000000002faf680] pixel_format=yuv420p min s=2304x1536 fps=2 max s=2304x1536 fps=2
[dshow @ 0000000002faf680] vcodec=mjpeg min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=160x90 fps=5 max s=160x90 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=432x240 fps=5 max s=432x240 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=864x480 fps=5 max s=864x480 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=960x720 fps=5 max s=960x720 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 0000000002faf680] vcodec=mjpeg min s=1920x1080 fps=5 max s=1920x1080 fps=30
[dshow @ 0000000002faf680] Pin "Capture"
[dshow @ 0000000002faf680] vcodec=h264 min s=640x480 fps=5 max s=640x480 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=160x90 fps=5 max s=160x90 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=160x120 fps=5 max s=160x120 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=176x144 fps=5 max s=176x144 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=320x180 fps=5 max s=320x180 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=320x240 fps=5 max s=320x240 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=352x288 fps=5 max s=352x288 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=432x240 fps=5 max s=432x240 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=640x360 fps=5 max s=640x360 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=800x448 fps=5 max s=800x448 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=800x600 fps=5 max s=800x600 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=864x480 fps=5 max s=864x480 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=960x720 fps=5 max s=960x720 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=1024x576 fps=5 max s=1024x576 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=1280x720 fps=5 max s=1280x720 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=1600x896 fps=5 max s=1600x896 fps=30
[dshow @ 0000000002faf680] vcodec=h264 min s=1920x1080 fps=5 max s=1920x1080 fps=30
video=Logitech HD Pro Webcam C920: Immediate exit requested -
FFMPEG output (Images > Video) is unplayable
23 décembre 2014, par jgadsI’m using FFMPEG to make a video slideshow from a group of images on Android. The process completes successfully and the output file is the correct/expected size (or the same as what is reported in FFMPEG’s ’progress’), but the video does not play on any Android video player (MXplayer, VLC, stock). The video players show a perpetual loading circle and never actually launch. MXplayer can see the file and generate a thumbnail but not actually play it. Here is the command :
ffmpeg -f image2 -re -r 1 -i
/storage/emulated/0/Pictures/phototest/%d.jpg -vcodec libx264 -f mp4
-r 24 -preset : ultrafast -an -threads 4 -b 4000k -mbd rd -flags +mv4+aic -trellis 2 -cmp 2 -subcmp 2 -g 300 -y -pix_fmt yuv420p /storage/emulated/0/Pictures/phototest/result1.mp4Here’s the output via Android Logcat :
12-23 12:59:49.890 12665-12665/com.company.example I/FFmpeg﹕ Loading FFmpeg for armv7-neon CPU
12-23 12:59:50.210 12665-12665/com.company.example E/FFMPEG﹕ Success loading ffmpeg
12-23 12:59:54.420 12665-12665/com.company.example E/FFMPEG﹕ Started.
12-23 12:59:54.445 12665-12799/com.company.example D/FFmpeg﹕ Running publishing updates method
12-23 12:59:54.465 12665-12665/com.company.example E/FFMPEG﹕ Progress: ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
12-23 12:59:54.465 12665-12665/com.company.example E/FFMPEG﹕ Progress: built on Oct 7 2014 15:08:46 with gcc 4.8 (GCC)
12-23 12:59:54.465 12665-12665/com.company.example E/FFMPEG﹕ Progress: configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
12-23 12:59:54.465 12665-12665/com.company.example E/FFMPEG﹕ Progress: libavutil 54. 7.100 / 54. 7.100
12-23 12:59:54.465 12665-12665/com.company.example E/FFMPEG﹕ Progress: libavcodec 56. 1.100 / 56. 1.100
12-23 12:59:54.470 12665-12665/com.company.example E/FFMPEG﹕ Progress: libavformat 56. 4.101 / 56. 4.101
12-23 12:59:54.470 12665-12665/com.company.example E/FFMPEG﹕ Progress: libavdevice 56. 0.100 / 56. 0.100
12-23 12:59:54.470 12665-12665/com.company.example E/FFMPEG﹕ Progress: libavfilter 5. 1.100 / 5. 1.100
12-23 12:59:54.470 12665-12665/com.company.example E/FFMPEG﹕ Progress: libswscale 3. 0.100 / 3. 0.100
12-23 12:59:54.470 12665-12665/com.company.example E/FFMPEG﹕ Progress: libswresample 1. 1.100 / 1. 1.100
12-23 12:59:54.470 12665-12665/com.company.example E/FFMPEG﹕ Progress: libpostproc 53. 0.100 / 53. 0.100
12-23 12:59:54.655 12665-12665/com.company.example E/FFMPEG﹕ Progress: Input #0, image2, from '/storage/emulated/0/Pictures/phototest/%d.jpg':
12-23 12:59:54.655 12665-12665/com.company.example E/FFMPEG﹕ Progress: Duration: 00:00:28.00, start: 0.000000, bitrate: N/A
12-23 12:59:54.655 12665-12665/com.company.example E/FFMPEG﹕ Progress: Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg), 2528x1856 [SAR 1:1 DAR 79:58], 1 fps, 1 tbr, 1 tbn, 1 tbc
12-23 12:59:54.655 12665-12665/com.company.example E/FFMPEG﹕ Progress: Please use -b:a or -b:v, -b is ambiguous
12-23 12:59:54.665 12665-12665/com.company.example E/FFMPEG﹕ Progress: [swscaler @ 0x2b3f7990] deprecated pixel format used, make sure you did set range correctly
12-23 12:59:54.670 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] using SAR=1/1
12-23 12:59:54.685 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] using cpu capabilities: none!
12-23 12:59:54.755 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] profile Constrained Baseline, level 5.0
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=0 trellis=2 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=300 keyint_min=24 scenecut=0 intra_refresh=0 rc=abr mbtree=0 bitrate=4000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: Output #0, mp4, to '/storage/emulated/0/Pictures/phototest/result1.mp4':
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: Metadata:
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: encoder : Lavf56.4.101
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 2528x1856 [SAR 1:1 DAR 79:58], q=-1--1, 4000 kb/s, 24 fps, 12288 tbn, 24 tbc
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: Metadata:
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: encoder : Lavc56.1.100 libx264
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: Stream mapping:
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
12-23 12:59:54.760 12665-12665/com.company.example E/FFMPEG﹕ Progress: Press [q] to stop, [?] for help
12-23 13:00:03.905 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 49 fps= 11 q=17.0 size= 840kB time=00:00:01.83 bitrate=3752.6kbits/s dup=46 drop=0
12-23 13:00:11.185 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 73 fps=8.0 q=17.0 size= 1397kB time=00:00:02.83 bitrate=4039.0kbits/s dup=69 drop=0
12-23 13:00:17.615 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 97 fps=5.9 q=17.0 size= 1931kB time=00:00:03.83 bitrate=4126.8kbits/s dup=92 drop=0
12-23 13:00:22.545 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 121 fps=5.3 q=17.0 size= 2496kB time=00:00:04.83 bitrate=4229.6kbits/s dup=115 drop=0
12-23 13:00:27.630 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 145 fps=5.2 q=17.0 size= 3089kB time=00:00:05.83 bitrate=4338.5kbits/s dup=138 drop=0
12-23 13:00:33.005 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 169 fps=5.1 q=17.0 size= 3702kB time=00:00:06.83 bitrate=4437.9kbits/s dup=161 drop=0
12-23 13:00:37.840 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 193 fps=5.0 q=18.0 size= 4316kB time=00:00:07.83 bitrate=4514.1kbits/s dup=184 drop=0
12-23 13:00:43.345 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 217 fps=5.0 q=18.0 size= 4848kB time=00:00:08.83 bitrate=4495.6kbits/s dup=207 drop=0
12-23 13:00:48.155 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 241 fps=5.0 q=18.0 size= 5304kB time=00:00:09.83 bitrate=4418.5kbits/s dup=230 drop=0
12-23 13:00:52.930 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 265 fps=5.0 q=19.0 size= 5874kB time=00:00:10.83 bitrate=4441.8kbits/s dup=253 drop=0
12-23 13:00:57.210 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 289 fps=5.0 q=18.0 size= 6205kB time=00:00:11.83 bitrate=4295.9kbits/s dup=276 drop=0
12-23 13:01:01.415 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 313 fps=5.0 q=18.0 size= 6747kB time=00:00:12.83 bitrate=4307.0kbits/s dup=299 drop=0
12-23 13:01:05.315 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 337 fps=5.1 q=18.0 size= 7126kB time=00:00:13.83 bitrate=4220.0kbits/s dup=322 drop=0
12-23 13:01:09.935 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 361 fps=5.1 q=17.0 size= 7522kB time=00:00:14.83 bitrate=4153.9kbits/s dup=345 drop=0
12-23 13:01:14.755 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 385 fps=5.1 q=18.0 size= 8072kB time=00:00:15.83 bitrate=4176.2kbits/s dup=368 drop=0
12-23 13:01:19.505 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 409 fps=5.1 q=18.0 size= 8618kB time=00:00:16.83 bitrate=4193.9kbits/s dup=391 drop=0
12-23 13:01:23.630 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 433 fps=5.1 q=17.0 size= 9074kB time=00:00:17.83 bitrate=4168.4kbits/s dup=414 drop=0
12-23 13:01:27.580 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 457 fps=5.1 q=17.0 size= 9423kB time=00:00:18.83 bitrate=4098.7kbits/s dup=437 drop=0
12-23 13:01:32.210 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 481 fps=5.2 q=17.0 size= 9908kB time=00:00:19.83 bitrate=4092.4kbits/s dup=460 drop=0
12-23 13:01:36.140 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 505 fps=5.2 q=16.0 size= 10238kB time=00:00:20.83 bitrate=4025.6kbits/s dup=483 drop=0
12-23 13:01:41.165 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 529 fps=5.2 q=16.0 size= 10758kB time=00:00:21.83 bitrate=4036.4kbits/s dup=506 drop=0
12-23 13:01:46.065 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 553 fps=5.2 q=16.0 size= 11214kB time=00:00:22.83 bitrate=4023.2kbits/s dup=529 drop=0
12-23 13:01:51.290 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 577 fps=5.2 q=16.0 size= 11836kB time=00:00:23.83 bitrate=4068.4kbits/s dup=552 drop=0
12-23 13:01:57.560 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 601 fps=5.2 q=17.0 size= 12537kB time=00:00:24.83 bitrate=4135.6kbits/s dup=575 drop=0
12-23 13:02:02.735 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 625 fps=5.1 q=18.0 size= 13864kB time=00:00:25.83 bitrate=4396.6kbits/s dup=598 drop=0
12-23 13:02:06.810 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 649 fps=5.1 q=18.0 size= 14322kB time=00:00:26.83 bitrate=4372.3kbits/s dup=621 drop=0
12-23 13:02:06.815 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 649 fps=4.9 q=18.0 size= 14322kB time=00:00:26.83 bitrate=4372.3kbits/s dup=621 drop=0
12-23 13:02:07.355 12665-12665/com.company.example E/FFMPEG﹕ Progress: frame= 649 fps=4.9 q=-1.0 Lsize= 14349kB time=00:00:27.04 bitrate=4346.9kbits/s dup=621 drop=0
12-23 13:02:07.355 12665-12665/com.company.example E/FFMPEG﹕ Progress: video:14345kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.024813%
12-23 13:02:07.360 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] frame I:3 Avg QP:21.67 size:383361
12-23 13:02:07.360 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] frame P:646 Avg QP:18.87 size: 20958
12-23 13:02:07.360 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] mb I I16..4: 100.0% 0.0% 0.0%
12-23 13:02:07.360 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] mb P I16..4: 4.4% 0.0% 0.0% P16..4: 19.5% 0.0% 0.0% 0.0% 0.0% skip:76.0%
12-23 13:02:07.360 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] final ratefactor: 26.82
12-23 13:02:07.370 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] coded y,uvDC,uvAC intra: 42.8% 45.6% 9.2% inter: 3.4% 16.7% 0.1%
12-23 13:02:07.370 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] i16 v,h,dc,p: 36% 24% 22% 19%
12-23 13:02:07.370 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] i8c dc,h,v,p: 51% 22% 19% 7%
12-23 13:02:07.370 12665-12665/com.company.example E/FFMPEG﹕ Progress: [libx264 @ 0x2b4012e0] kb/s:4345.62
12-23 13:02:07.400 12665-12665/com.company.example E/FFMPEG﹕ Success: ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
built on Oct 7 2014 15:08:46 with gcc 4.8 (GCC)
configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100
Input #0, image2, from '/storage/emulated/0/Pictures/phototest/%d.jpg':
Duration: 00:00:28.00, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg), 2528x1856 [SAR 1:1 DAR 79:58], 1 fps, 1 tbr, 1 tbn, 1 tbc
Please use -b:a or -b:v, -b is ambiguous
[swscaler @ 0x2b3f7990] deprecated pixel format used, make sure you did set range correctly
[libx264 @ 0x2b4012e0] using SAR=1/1
[libx264 @ 0x2b4012e0] using cpu capabilities: none!
[libx264 @ 0x2b4012e0] profile Constrained Baseline, level 5.0
[libx264 @ 0x2b4012e0] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=0 trellis=2 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=300 keyint_min=24 scenecut=0 intra_refresh=0 rc=abr mbtree=0 bitrate=4000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, mp4, to '/storage/emulated/0/Pictures/phototest/result1.mp4':
Metadata:
encoder : Lavf56.4.101
Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 2528x1856 [SAR 1:1 DAR 79:58], q=-1--1, 4000 kb/s, 24 fps, 12288 tbn, 24 tbc
Metadata:
encoder : Lavc56.1.100 libx264
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= 49 fps= 11 q=17.0 size= 840kB time=00:00:01.83 bitrate=3752.6kbits/s dup=46 drop=0
frame= 73 fps=8.0 q=17.0 size= 1397kB time=00:00:02.83 bitrate=4039.0kbits/s dup=69 drop=0
frame= 97 fps=5.9 q=17.0 size= 1931kB time=00:00:03.83 bitrate=4126.8kbits/s dup=92 drop=0
frame= 121 fps=5.3 q=17.0 size= 2496kB time=00:00:04.83 bitrate=4229.6kbits/s dup=115 drop=0
frame= 145 fps=5.2 q=17.0 size= 3089kB time=00:00:05.83 bitrate=4338.5kbits/s dup=138 drop=0
frame= 169 fps=5.1 q=17.0 size= 3702kB time=00:00:06.83 bitrate=4437.9kbits/s dup=161 drop=0
frame= 193 fps=5.0 q=18.0 size= 4316kB time=00:00:07.83 bitrate=4514.1kbits/s dup=184 drop=0
frame= 217 fps=5.0 q=18.0 size= 4848kB time=00:00:08.83 bitrate=4495.6kbits/s dup=207 drop=0
frame= 241 fps=5.0 q=18.0 size= 5304kB time=00:00:09.83 bitrate=4418.5kbits/s dup=230 drop=0
frame= 265 fps=5.0 q=19.0 size= 5874kB time=00:00:10.83 bitrate=4441.8kbits/s dup=253 drop=0
frame= 28
12-23 13:02:07.430 12665-12665/com.company.example E/FFMPEG﹕ Finished.EDIT : Note that although it appears to run ffmpeg twice here, the output file is the correct size which seems to mean that the file isn’t getting overwritten with a corrupt version, so we can probably just assume there’s a bug with Logcat (right ?)
EDIT 2 : Trying the same command on the PC works flawlessly. Playing back this video works fine on Android.
-
Dreamcast SD Adapter and DreamShell
31 décembre 2014, par Multimedia Mike — Sega DreamcastNope ! I’m never going to let go of the Sega Dreamcast hacking. When I was playing around with Dreamcast hacking early last year, I became aware that there is such a thing as an SD card adapter for the DC that plugs into the port normally reserved for the odd DC link cable. Of course I wanted to see what I could do with it.
The primary software that leverages the DC SD adapter is called DreamShell. Working with this adapter and the software requires some skill and guesswork. Searching for these topics tends to turn up results from various forums where people are trying to cargo-cult their way to solutions. I have a strange feeling that this post might become the unofficial English-language documentation on the matter.
Use Cases
What can you do with this thing ? Undoubtedly, the primary use is for backing up (ripping) the contents of GD-ROMs (the custom optical format used for the DC) and playing those backed up (ripped) copies. Presumably, users of this device leverage the latter use case more than the former, i.e., download ripped games, load them on the SD card, and launch them using DreamShell.However, there are other uses such as multimedia playback, system exploration, BIOS reprogramming, high-level programming, and probably a few other things I haven’t figured out yet.
Delivery
I put in an order via the dc-sd.com website and in about 2 short months, the item arrived from China. This marked my third lifetime delivery from China and curiously, all 3 of the shipments have pertained to the Sega Dreamcast.
I thought it was very interesting that this adapter came in such complete packaging. The text is all in Chinese, though the back states “Windows 98 / ME / 2000 / XP, Mac OS 9.1, LINUX2.4”. That’s what tipped me off that they must have just cannibalized some old USB SD card readers and packaging in order to create these. Closer inspection of the internals through the translucent pink case confirms this.
Usage
According to its change log, DreamShell has been around for a long time with version 1.0.0 released in February of 2004. The current version is 4.0.0 RC3. There are several downloads available :- DreamShell 4.0 RC 3 CDI Image
- DreamShell 4.0 RC 3 + Boot Loader
- DreamShell 4.0 RC 3 + Core CDI image
Option #2 worked for me. It contains a CDI disc image and the DreamShell files in a directory named DS/.
Burn the CDI to a CD-R in the normal way you would burn a bootable Dreamcast disc from a CDI image. This is open-ended and left as an exercise to the reader, since there are many procedures depending on platform. On Linux, I used a small script I found once called burncdi-dc.sh.
Then, copy the contents of the DS/ folder to an SD card. As for filesystem, FAT16 and FAT32 are both known to work. The files in DS/ should land in the root of the SD card ; the folder DS/ should not be in the root.
Plug the SD card into the DC SD adapter and plug the adapter in the link cable port on the back of the Dreamcast. Then, boot the disc. If it works, you will see this minor corruption of the usual Sega licensing screen :
Then, there will be a brief white-on-black text screen that explains the booting process :
Then, there will be the main DreamShell logo :
Finally, you will land on the DreamShell main desktop :
Skepticism
At first, I was supremely skeptical of the idea that this SD adapter could perform speedily enough to play games reasonably. This was predicated on the observation that my DC coder’s cable that I used to use for homebrew development could not transfer faster than 115200 bits/second, amounting to about 11 kbytes/sec. I assumed that this was a fundamental limitation of the link port.In fact, I ripped a few of my Dreamcast discs over a decade ago and still have those rips lying around. So I copied the ISO image of Resident Evil : Code Veronica — the game I personally played most on the DC — to the SD card (anywhere works) and used the “ISO loader” icon seen on the desktop above to launch the game.
It works :
The opening FMV plays at full speed. Everything loads as fast as I remember. I was quite surprised.
Digression : My assumptions about serial speeds have often been mistaken. 10 years ago, I heard stories about how we would soon be able to watch streaming video on our cell phones. I scoffed because I thought the 56K limitation of dialup modems was some sort of fundamental speed-of-light type of limitation for telephony bandwidth, wired or wireless.
The desktop menu also includes a ‘speedtest’ tool that profiles the write and read performance of your preferred storage medium. For my fastest SD card (a PNY 2 GB card) :
This is probably more representative of the true adapter bandwidth as reading and writing is a good deal faster through more modern interfaces on PC and Mac with this same card.
Look at the other options on the speedtest console. Hard drive ? Apparently, it’s possible, but it requires a good deal more hardware hacking than just purchasing this SD adapter.
Ripping
As you can see from the Resident Evil screenshot, playing games works quite nicely. How about ripping ? I’m pleased to say that DreamShell has a beautiful ripping interface :
Enter a name for the disc (or read the disc label), select the storage medium, and let it, well, rip. It indicates which track it’s working on and the Sega logo acts as a progress bar, shading blue as the track rip progresses.
I’m finally, efficiently, archiving that collection of Sega Dreamcast demo discs ; I’m hoping they’ll eventually find a home at the Internet Archive. How is overall ripping performance ? Usually about 38-40 minutes to rip a full 900-1000 MB. That certainly beats the 27-28 hours that were required when I performed the ripping at 11 kbytes/sec via the DC coders cable.
All is well until I get a sector reading error :
That’s when it can come in handy to have 3 DC consoles (see ?! not crazy !).
Other Uses
There’s a file explorer. You can browse the filesystem of the SD card, visual memory unit, or the CD portion of the GD-ROM (would be more useful if it accessed the GD area). There are FFmpeg files included. So I threw a random Cinepak file and random MPEG-1 file at it to see what happens. MPEG-1 didn’t do anything, but this Cinepak file from some Sierra game played handily :
If you must enter strings, it helps to have a Dreamcast keyboard (which I do). Failing that, here’s a glimpse of the onscreen keyboard that DreamShell equips :
Learning to use it is a game in itself.
There is an option of installing DreamShell in the BIOS. I did not attempt this. I don’t know if it’s possible (not like there’s a lot of documentation)– perhaps a custom BIOS modchip is needed. But here’s what the screen looks like :
There is also a plain console to interact with (better have a physical keyboard). There are numerous file manipulation commands and custom system interaction commands. I see one interesting command called ‘addr’ that looks useful for dumping memory regions to a file.
A Lua language interpreter is also built in. I would love to play with this if I could ascertain whether DreamShell provided Dreamcast-specific APIs.
Tips And Troubleshooting
I have 3 Dreamcast consoles, affectionately named Terran, Protoss, and Zerg after the StarCraft II stickers with which they are adorned. Some seem to work better than others. Protoss seemed to be able to boot the DreamShell disc more reliably than the others. However, I was alarmed when it couldn’t boot one morning when it was churning the previous day.I think the problem is that it was just cold. That seemed to be the issue. I put in a normal GD-ROM and let it warm up on that disc for awhile and then DreamShell booted fine. So that’s my piece of cargo-culting troubleshooting advice.